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