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