@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SSSSSSSSS%%%%%%%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;:,                  ,,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                            ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                               ,?@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                   *+;;+:,,,,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                              ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                                              ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                              :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                                              *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%?;,                                     ,,        :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                                         ??       ,*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:,                                     ,?@S       ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?*S+                                 ,#@S        ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                                :*S*         +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS::                             ,,?@@*,        ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@*; ,,       ,,,,,          :*S#%@@%,        :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:;:,?;;;,,::;:,,,;:,;,,**#@@@@@@@+        ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%?@S@?:       :*###+?@@@@@@@@@@@:       %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+         :#@@@@@@@@@@@@@@@?:,   ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@
@@@@@@@@@%++?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;:,            :;*%S@@@@@@@@@@#S;,,;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+:,:+S@@@@@@@@
@@@@@@#*,  ,  ,:;*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:,                      :+S@@@@@@@@@#S%@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+;,   ,;+,  ;?#@@@@@
@@@@%+, ,;S@#%*;,   ,:;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+,                           ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;:,   ,;*%S@@@#?:  ,+S@@@
@S*:   ,*@@@@@@@@S:  :+:,,:+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                               ,+S@@@@@@@@@@@@@@@@@@@@@@@@@#%*:,,:+?+,  +@@@@@@@@#;     :*%
:   ,:, ,?#@@@@@#;   ,+#@S?+:,,;+?SS#@@@@@@##S%?+++?%SS?:                                   ,+%%?*+;;+*?%%SS###SS%?*;:,,:*%#@@*,    :#@@@@#+:  ,++,   
 ,;??,    ,%@@@#:      :#@@@@#?,   ,,:::::::,  ,, ,                                              ,,,::,  ,:::::::,,   +#@@@@@;       +@@@%,     ,S#?+:
%#@#,       ?@@S,       S@@@@@?,  :?#######*, ,*####%                                           ?@@@@%:  :?@@@@@@S;   :*@@@@@+       ?@@@:       +@@@@
@@@#:       %@@@?      ;@@@@@+     ,%@@@@@+     ;@@@@*,                                        +@@@@?      *@@@@S:      ?@@@@S,     *@@@@*      :#@@@@
@@@@#,     :@@@@@*     %@@@@%       ,#@@@+       *@@?:                                         ,*@@#,       S@@@?       :@@@@@;    *@@@@@S     :#@@@@%
+@@@@%,    ?@@@@@@;   :@@@@@@:      +@@@@?      ,%@@@#;                                       :#@@@@*      :@@@@#:     ,S@@@@@%   ;@@@@@@@:   :#@@@@? 
:@@@@@?   :@@@@@@@#,  ?@@@@@@S,    ,S@@@@@:     *@@@@%,                                        ?@@@@@:     %@@@@@*     %@@@@@@@: ;@@@@@@@@*  :S@@@@@S 
%@@@@@@+  *@@@@@@@@% ,@@@@@@@@*    +@@@@@@?    :@@@@@:                                         ,#@@@@S,   ;@@@@@@#,   *@@@@@@@@?:#@@@@@@@@S ,S@@@@@@@:
@@@@@@@@;,#@@@@@@@@@?%@@@@@@@@@:  ,#@@@@@@@:   %@@@@?                                           ?@@@@@*  ,S@@@@@@@*  ;@@@@@@@@@@@@@@@@@@@@@*S@@@@@@@@+
@@@@@@@@#S@@@@@@@@@@@@@@@@@@@@@S, +@@@@@@@@?  *@@@@#+       *,                          ,:      ;#@@@@@: *@@@@@@@@#,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,#@@@@@@@@@::@#%+:,       +@,                          +#:       :;*S@S+@@@@@@@@@@%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?+;,         ;S@@:                          +@#;          ,+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:          :+%@@@#,                          :@@@%+:,          ,+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@#SSSS##@@@@@S*;,         ,;?S@@@@@@%                            S@@@@@#%*;,          :+***+;;+**?%S@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@?:::   ,,,;+;:        ,:+?S@@@@@@@@@@%                           ,S@@@@@@@@@@S?+:,                :;:+@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@#S%+              ,:+%#@@@@@@@@@@@@@#:                            :#@@@@@@@@@@@@@#S?+:,           ;?%S@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@%++*??**++;:,,           ,:;*S#@@@@@@@@@@@@@@@@S:                              :S@@@@@@@@@@@@@@@@@#S%?*;:        ,:;*?SSSSS%%#@@@@@@@@@@@@@
@@@@@@@@@@@@S*;,,            ,:;+?%S#@@@@@@@@@@@@@@@@@@@@%,                                ,%@@@@@@@@@@@@@@@@@@@@@@@S?+:,          ,,:;?#@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#S?*++;;;+*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                  ,S@@@@@@@@@@@@@@@@@@@@@@@@@@#S%???**?%S#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                    ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@