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