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