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