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