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