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