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