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