@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@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@@@@@@@@@%  :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@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                    :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                      +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@