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