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