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