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