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