:,               ,,::,           ,:;++++++++;;;;;;;;;:,,::,,            ,:;+*??%S%S%?+;:,                   ,,,,,,                     ,::;+++++++**??
:,              ,,,,,,           ,,:;++;;;;;;;;;;;;;::,,:,,             ,:;+*?%SSS%%*+;,                                              ,,::;+++++++**??
,              ,,,,,,,            ,:;;;;;;;;;;;+;;;::::::,               ,;+?%%SS#S?*;:,                                             ,,,,:;+**++++**?%
,            ,,:::::,,            ,:::::;;;;;;;;;;:::::::,               ,:+?%SS##S%*;,                                                ,,;;+*******?%%
,           ,,::;;::,,             ,,::::;;;+++;;;:::::,,,                :+?%S###S%?+:,                                                ,:;+++****??%%
,          ,::;+++;::,             ,,,,::;;+++;;::,,,,,,                 ,;*%SS####S%?+;,                                                ,;;+++**????%
:,         ,:;+*+++;;,                ,,:;;;+;;::,,                      :*?%%%S####S%*+:,                                               ,:;++++****??
;:,       ,:;;+***++;:,                ,,:;;;;::,,                       :+??%SS####S%?+;:,                                              ,:;;+++++++**
;;::,,,,,,:;+++***++;:,                 ,,:;;:,,                        ,:;*?%SSS###SS%*+::,                                              ,:;;;;;;;;+*
++;;;:::::;+******++;:,                   ,,:,                          ,:;+*?%%SSSSSS%?+;:,                                              ,,:::::::;++
**+++;;;;::;+******++;,                                                ,,:;+*???SSS%%%?*;;:,                                                ,,,,,::;;+
??*++++;;::::++**+++;:,                                                ,,:;+*???%%%??*+;:,,                                                      ,,:;;
??**++;;:,,,,:;+;;;:,,                                                 ,,:;;+*?????*++;:,                                                         ,,:;
??***++;;:,, ,:::,,,                                                    ,,::;+**?*++;:,,                                                           ,,:
??****++;:,                                                               ,::;;+++;:,,                                                              ,:
?*****+++;,                                                               ,,,,,,:::,                                                                ,,
*******+;:,                                                                                                                                         ,,
*++++**+;,                                                                                                                                          ,:
*+++++;;;,                                                                                                                                           ,
*++++;::,,                                                                                                                                          ,:
*++;;::,                                                                                                                                         ,,,::
*++;:,,                                                                                                                                          ,::;;
?+;;,,                                                                                                                                          ,:;++*
?*+:,                                                                                                                                           ,:;+*?
%?*;:,                                                                         ,,,,,,,,                                                         ,,:;+*
%?*+:,                                                                    ,,,,,:::::::,                                                           ,:+*
%%?+;,                                                                   ,:::;+++++;;:,                                                           ,:+*
SS%*+:,                                                                  ,:;++*????*+:,                                                           ,:;+
%%%?*+;:,                                                                ,:;+*?%%%%?*;,                                                           ,;+?
%%%%??+;:,                                                               ,:+*?%SSSS%?*;:,                                                        ,;+?%
?%%%%?*+;:,                                                             ,:;*%SS####S??+;,                                                       ,;+?%S
%%??????*+;:,                                                           ,,:;*%S%?*+:,,                                                         ,;+*%S#
%%%%%%%%%%%?+;,                                                              ,,,                                                              ,;*?%S##
SSSSSSSSS##S%?+:,                                                                                                                           ,:;*??%S##
####SSSS##SS%?*+;:,                                                                                                                         ,:;+*?%S##
#SSSS%%%%%%%%%??*+;:,                                                                                                                     ,,:;+*?%S###
SSS%%%%%%%%%%%%??*+;:,,                                                                                                               ,,::;;++*?%SS##@
SSSSSS########S%%??*+;:,,                                                                   ,,                                     ,:;++***??%%SS####@
####@@@@@@@@@###SS%%?*+;:,,,,,,                                                             ,;*+:,,,,                           ,::;+*?%%%SSSS####@@@@
@#@@@@@@@@@@@@@###SS%??*++;;;;:::::::::::,,,,,,,   ,,                                         ;??*;;:,                      ,,,,:::;+*?%S####@@@@@@@@@
@@@@@@@@@@@@@@@@@####S%%%???**********???****+++;;;;:                                          ?%?*+;::,,,,,:::;;;;;:::::::::;;;::;;+**%%S#@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@#####SSS%%%%%SSSSSSSSSSSS%%????;                                          *S%?**+++++++***?????*********++++++**??%S#@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@####SSSS*                                          %#SS%%%?????%%SSS###SS%%%%%%%????????%%SS##@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#,                                        ;@@@####SSSSSS###@@@@#####SSSSSSSSSSSS###@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                        ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@@@@@@@@@@@@@@@@@