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