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