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