########@@@@@@@@@#SSS%%S#@##@S???????***?*?S@@@@@@@@@@@@@@@@@@@@S????*+==+=*%S%%
#############@@@@#SSS%S#@#S#@S??????*****?S#@@#########@@@@@@@@@@S???*====+*%%%?
##############@@@#SSSS#@#SS#@S?????*****?%#####SSS####S@@@@@@@@@@@S??*====+*????
##############@@@#SSS#@#S%S#@S??????????%S##@@@@@#@###SS@@@@@@@@@@@#%?+===+?%???
##############@@@#SSS#@#S%%#@S???*??S########@@@@@@@####S@@@#?#@@@@@S?+==*%SS%%?
##############@@@#SS#@#SSS%##S????%S#@@@@@@####@@@@@@@S#@S@@?**%S####?+=+%S%S%%?
##############@@@#S#@#S%SS%##S???%##@@@@@@######@@@@@@@##@%++*??+*????+=?S%?%%??
##############@@@##@#S%%SS%##S?%S#@@@@@@########@@@@@@#S#S+**?*=+***??*+%%%?%%%%
@@@@@@@@@@@@@@@@@#@#S%%?SS%##S%S#@@@@@###@#######@@@@@@@#S*?+=++?++??%%?%%%%SSSS
#####@@@@@@@@@@@@@#S%%%?SS%##SS#@@@@@@######S####@@@@@@@@#+*=+**=+%SSSS%??SSSS%*
SSSSSSSS######@@@@#%%%%?SS%##SS#@@@@@##########@@@@@@@@@@S*++%++*%%?##SS%SSSS%?*
SSSSSSSSSSSSSS##@#S%????SS%#SSS#@@@@#S%SSS#####@@@@@@@@@#++*%*=*%+=%###SSS%?****
SSSSSSSSSSSS%SS###S%?*??SS%#SSS@@@#S**?%%S#####@@@@@@@@@@%*?S?-+%*?S###SS?**++++
SSSSSSSS%%%%%%SSSS%?**??%S%SSS#@@#%+==+*%SS#@@@@@@@@@@@@@@%%S%-+%?%%%##S*+++++++
SSSSSSS%%%%%%%%%%%%?**??%SS#S#@@#?=-;-=*?%S#@@@@@@@@@@@@@@@%%S++S??%####?+++++++
%%%%%%%%%%%%%%SSS%%?**??%SS###@#%=;;;-=+*?%S#@@@@@@@@@@@@@@S%S%+SSSSS##%++++++++
%%%%%%%%%%%%%%S##S%?**??%S###@#S+;;;;--=+?%S##@@@@@@@@@@@@@@%SS*SSSSS#S?++++++++
%%%%%%%%%%%%%%S#SSS?***?%S##@@#?-;::;;-=+*?%S#@@@@@@@@@@@@@@#%SS%###S%??*+++++++
%%%%%%%%%%%%%%S###S%*+**%S##@#S+;;;;;--=++*?%##@@@@@@@@@@@@@@#SSSSS#S*?**?+++**?
S%%%%%%%%%%%%%SS##S?**?*%#@#@#?-;;;--=+*?%SSS#@@@@@@@@@@@@@@@@@####SS?****%?%SSS
S%%%%%%%%%%%%%%S%%?*+?%?%#@@##*----==*%SSS???%S@@@@@@@@@@@@@@@@@@@@@S?%%%SSSS###
S%%%%%%%%%%%%%%%?**++?%*%#@@##%%*=-=+?%?*==*?%S#@@@@@@@@@@@@@@@@@@@@#SSSS#######
%%%%%%%%%%%%%%%%?**++??*?#@@##%??*==*??+==+%SSS##@@@@@@@@@@@@@@@@@@########S%?*+
%%%%%%%%%%%%%%%%???**%%?%#@@#%++*+=-+?*+?%S@@@##S#@@@@@@@@@@@@@@@@@##SS%?*+=====
%%%%%%%%%%%%%%%S%*?+?%%%%#@@#S?%%*=;+?*=S**SS##S%S#@@@@@@@@@@#@@@@@S*+====------
??%%%%%%%%%%?%SS%*???%%%%S@@##?##?-;+?*=++*?%%%??%S@@@@@@@@#####@@@%=-----------
?????%%%%%%%??%%?SS%%%%%%S#@#S***=;;*?*====+++++*%S#@@@@@@#####@@@@%=-----------
%?????????%%??*?%SS%%%%?%S#@#%**=-;-?%?+=----==+?%S#@@@@@##@@##@@@@?=-----------
????????????%??%%SS%%?**%S%@#?=--;;=?S%*=----=+*?%S#@@#@##@####@@@@*=-----------
?????????????%%%SS%???**%S%##+--;;;=%SS?+=--=+*?%SS#@@#@######@@@@#+------------
??????????????%%SS?*???%S####+--;;;+%SS%+=-==+*?%SS##@#######@@@@@%=------------
??????????????%%%%??%SSSS%??@*--;-=*%%SS?===++*?%SSS#@######@@@@@S+-------------
??????????????%SSSSSSS%?=+++SS--;-*?S#%S%+==+*??%SSS######@@@@@#%+=-------------
??????????????%#SSS?**++-?*+*#+-;;--*%S%?++++*??%%SS######@@@@#%+---------------
??????????????S#S#S?*+=-=%+++%%-;;;;;+***+++**?%%%SS###S#@@@@#%+----------------
??????????%?*SSS##S%?+=-*?+++*S+;;=+*????****??%%SSSS##S#@@@S?+------===+++**???
???????????S%#############S#S%SS?*%SSSSS%?*???%%%%SSS#SS###S%?????%%%%SSSSSSSSSS
SSSSSSSSSSS%%################S#######S%%S%*???%%%%S%SSS####SSSSSSSSSSSSSSSSSSSSS
###################S??SSS#S##S#####S*=+?%????%%%%%%%SSS#####SSSS#SS#############
#################@@S;*SS##SSS*+%S?*%???%%????%%%%%%%SSS####SSSSSSSSSS%SSSSSSSSS%
##################@-;?SS%*=--=*%SS*?%%%??**??%%%%%%SSSSS###S%S%%%%%%%%S%%%%%SSS%
##################%:=*+---=+*?%SSS%?%?+++**?%%??%%SSSSSS###SSS%%%%%%?%S%%%%SSSS%
#################@+:---=+*??%%%SSSS%??*+**????%%%%SSSSSS###S%S%%%%%%?%S%%%%SSSS%
############SS####;;=*?%SSS?SS%SSSSS%?****???%%%%SSSSSSS###S%S%%%%%%?%S%%%%SSSS%
#SSS%SS##SS%???%%%:;=++**%S?%SSSSSSSS%%??+-+?%%%%SSSSSSS####%S%%%%%%?%S%%%%SSSS%
?*****?%%???*?%%%-:;-==++?%%%SS%%SSSSSSS*:-=*%%%SSSSSSSS####SSS%SSS%%%S%%%%SSSS%
?**++****????SS#?:;;=*???????SS%*??%SSS?::*++?%%%SSSSSS####@###SSSSS%%S%%%SSSSS%
*+++**?%%S%%S##S::;=*%SSSSSSS#S%=====+*:,:%++*?%%%SSSSS####@#S%%%SSS%%S%%%SSSSS%
*+**??%%%%%%S##*::-*?SS###SSSSS%::::::,,,;S*=*???%%SSSS####%**??%SSS%%S%%%SSSSS%
**++*%%%SSS###S?:;=?%S######SSS%;;;::,,,:-#%++*???%%SSS#S?==++*?%%SS%%SS%%SSSSS%
***++?*?%%%%???+;-+?%S######SSS%;;::,,,::+##++**??%%%SS%=---=+*?%%SS%*????%%%SS%
*??**?*+*%**???*===*%SS####SSSS%;;:,,,::;%##*+***??%%%+;;--==+*??%%S%*******????
*%??*%?+*?*%%%%??==*?%SS###SSS%%;:,,,::;=S##?++**???*-;;;;--=+++??%S%??******???
?%?%**%*+?%SSS%%%*-+*?%SS#SSS%%?;,,,::;-*S##?+++***=;;:;;;--==+++??%SS#SS%%?????
???%*+???SS#SSS%=;-==*?%SSSSS%%*,,,,:;=+%##S?***?*-;::;;;;-----=+*?%%%#SSS####S%
???%*+*?S#S##S%;:-;-=+*?%SSS%%?;,,,:;=+*S##S%?**+;:::::;;;;;;--=+*?%%%SS%SSSS##S
%?%?****%####%;::-;:==*??%%%%?+,,,:;=+*?###S%?*=;::::::;;;;;;;-===+*-;-+?%SSS##%
##SS%??*?###S-:::-;,;=+*??%???;,,::-+???###S%?-;:::::::::::;;;;--=-:::::-=?SSSS%
#####S???S##=::,:-;,:-=++*?***:,,:;+???%###S?-;:::::::::::::;;;-=;::::::;;=*%SS%
######S%?%#?:;;,:--,:;-=+**+*=,,:;=*?%?%###?-;;::::::::::::::;-=;:::;;;:;-=+*?%%
########%%%;;;;,:;-;;;-=+*++*:,::-*?%%?%##*-;;::::::::::::::;--;:::;;;;::;-=++?%
#########S=:;;;,,:--;-++**+*=:::-+?%%??S#*-;;:::::::::::::;---;:::;;;;::::;-+*?%
@@@@@@@@%;,,::;,,:;;-+****++:;;-+?%%??*%?-;;:::::::::::::;---;::;;;;::::::;=*?%%
@@@@@@#+::,,::;:,,;-=+*****;;==+?%%%?+=?+;;:::::::::::::;--;:::;;;;:::::::-+*??%
@@@@@%;:::,,,:::,:;-+++***=:+*?%%%%?+=-*=;::::::::::::;--;::::;;;;:::::::;=*??%%
@@@@+::::,,,,,,:,;;=+++***:=%%%%%%?+--;+-::::::::::::;-;::,::;;;;:::,,:::-*???%%