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