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