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