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