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