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