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