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