@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;:::,::;;;:,,,,,::;+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                        :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                             ;#%**?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                               ,     :+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                        ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                         ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                          %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                                         ,;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                                 ,?:      :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;:, ::                             :S@+      :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S#*                             :#@+       +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*,,                         ,,,?S:       ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S*,                     ,?##%@#,,       +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,: +:,          ,*: ,?@@@@@@;,       :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+?:@@S,        ?@#;+S@@@@@@@S,       ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@#?;:+%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S#S?,       ,*SS%#@@@@@@@@@%     :+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@%+, :;:  ,:+?%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;:,             ,:;*%#@@@@@@@*;, ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@S%*;;?@@@@@@@@@@@@@@@@
@@@@@@@@@@S*:  ;%@@@#%*+,  ,:;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                       ,;%@@@@@@#%*S@@@@@@@@@@@@@@@@@@@@@#S%*;:, ,:;, ,*#@@@@@@@@@@@@@
@@@@@@#%+,     *@@@@@@#*:  +%*+:,:+%#@@@@@@@@@@@@@@@@@@@@@@@%;                            ;#@@@@@@@@@@@@@@@@@@@@@@@@@S?+:,,  ,+?S#@@@?, ,;%#@@@@@@@@@@
@@#%*:,  ,,    ,?@@@@*,    ,@@@@#%+:,:;+*?%%SS%%%?*+;;+*%S%;                               ,?@##S%%S#@@@@@@@@@@#S%+:,:;*%#*  ,+S@@@@@#:    ,+%#@@@@@@@
+:,  ,:*%+,     ,@@@?      ,#@@@@@@%:  :;++++++;  ,;;;::                                     ,,     ,::;++++;::,  ;?S@@@@@;     :S@@@;        ,;?S@@@@
::  ,S@@@:     ,*@@@+     :S@@@@@%:    +@@@@@@?:  ,%@@@@*,                                   :?SS##?, ,+%SSS%%?, ,+%@@@@@@;      ;@@#       ;+,   :+?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;        ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                :@@@@@@@+           ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                                  *@@@@@@@+,          ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                  ,S@@@@@@@%;,     , : ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                    :#@@@@@@S?,,    , ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                      ;@@@@@@#?+;:,:::+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@