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