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