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