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