#####SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%*=-;;=%#SSSS##S####SS%%%%SSS?++*%SS%=;
####SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS##%+==++=+:*S@@@#@@@#####S%%%SSS*++*%S%%=;
#############################@@@@@@@@@#S=+**=++=:;%%SSSS####S###S%%%S%*++*%S%%=;
@@@@@@@@@@@@@@@@@@@@@###############@##?%*????==-:%S%*+*%S%??%SSS%%%S?+++?%SS%=;
@@@############@##SS%?%S%??%%%??%SS#@@#*?*?+-=;;-;SSS%+*??**+*%SS%%%%?++*%SSS%=;
SS%*++=+%%%%%S#@#S?+=-+%?****+++*?%S@@S%?+====-++?#SSS%***+++*?%S%%S%***?%SSS%=;
?%?-;;;-*????%S##%?=--+?*+++++==+*?#@@#%%????%S*?#SSSSS%++++++*%S%%S?**?%SS%%%=;
???+==++*?***?%#S%?*++**++===-;-=+%#S%%S####S%???%SSSSSS%++=--+%S%%S?**?%SS%%%-;
*???******+-=+?##%*=-=++==---;;;-+%%#@@@@@@@@@@@#?+*%SSSS%*+;-+%S%%%?*+*?%%%%%=;
+***++===+=--=*S#?*=-=+=--;;;:;;+%#@@@@@@@@@@@@@@@@%+*%%SS?+--*%S%%%*+==+?%%%?-;
**++==--;;;-==+%#%*+===-==-;;::+S@@@@@@@@########@@@@S+*%SS+==*%S%%%*=--=?%%%?-;
+++*++=-;;:::-=?#%*+=--===--;:=#@@@@@@@###SSSSS####@@@@%+?S?--+?%%%%+---=*%%%?=;
==+++==-;::,,;=*#%+=---====-;-S@@@@@@@#SS%%%%%%SSS##@@@@#?S%;-+?%?%%+-;;=*%%%?=;
++***++=-;:::;-+S%*==+**??*+=+#@@@@@@#S%%???????%%S##@@#S%?S+=*%%???=-;;=*%%??-;
%%%SSS%%*=;----+SS?*++++????*=+*#@@@#S%??********??%S##S%***++?%?*??=;;;-*?%??-;
SSS%??*?%*=====*S#?*++*???**??*?#@@@S%?**+++++++++*?%S#S%***++?%?+*?=;;;-*????-;
SS#%+=+?SS?+-;-+%#%*+-=+**++++*S##@#SS%?*++===++?%S####S%?*?*+?%*++*-;;;-*????-;
?%%S%*?%?+=;::;+%#S%*+**??***?S###@@#####%*==+*S##S%?%##%%???*?%+=+*-;;;-+????-;
%%%%%%??*++===+?S@#SSSS###SSSS#####S??%SSS?+=+*%%%????S#S%????**===*-;:;-+????=;
########SSSSSSSS#########SSSS#######S##SS%%*-=+?S#S##SSSS%%????+--=*-;:;-+????=;
@@@@####SSSSSS%%%%%%%%%%%%%SS#######@##S%%%*--=?%SS%#SSSSS%%%???+==+-;:;-+????=;
@#####SS%%%???????????????%%S######SSSS%*?%*--==*?%??*?%SSSS%%??*+++-;:;-+????=;
#####SS%%????***********???S######S?**+++*?*-----=====+?S##SS%%??*++-;:;-+????=;
SSSSS%%%%???************?%S######@S?+====*?+;;-;----;-=*S@##SSS%???*=;:;-*?%%?=;
%%%%%%??????********++*?%S####@@@@S?+====*?+;;;;;;;;;-=*S@@###SS%%?*+;:;-*?%%?=;
%%%????????*******+++**%S####@@#@@S?*+==+?%%**-;;;;;--=*S@@@###SS%?**=:;-*??%?=;
%%????????*******++++*?%S##@@@##@@#%?*+++?%%*++;;;;;-=+?S#@@####SS%%?=;;-*????=;
?????????********++++*?%S##@@####@@S%?*++**-=::::;;--=+?###@#####SS%%*;;-*?%%?=;
????????********++++++**%S#######@@#%??***?*+=;:::;--=+?@@@#######SS%*;;=*?%%?=;
??????**********++++++***S#######@@#S%???SSS%%%*;;;;--=?@@#S#S###SSS?*;;-*?%??=;
?**???*********++++++++**%#######@@@S%%?%*=*S%%?*-;;;-=S@##SSSSSSS%%?=;;-*????=;
?**???********+++++++++*?%#######@@@#%?*=-+*+===-;;;;-*@@#SSSSSSSS%%+-:;-*????=;
%%????********+++++++++*?%#######@@@#*;:+%#%%%?=;;;;-*#@@#SS##SSS%%?+;:;-*????=;
%%%??********++++++++***%S#######@@%=;-=%%%*=-;;;;-=%@@@@#SS##SSSS%?+;;;-*??%?=;
**???********+++++***??%#########S+--+%#S%?+==---+?S#@@@@#S#S##S%S%?*=--=*?%%?=;
??????*******+++++*??%S########S?-;-?#@@#SS%?????%%%S@@@@#S#SS##S%%%??*++*?%%%=;
S%%%%?*+++***+++++*?##########%=--+S@@@@##SSS%??**?%S@@@@####SSSSS%%%%%??*?%%%=;
SS%%%*-;;-+***+++**?S#######%+--+%#@@@@@#S%%%?**+**?S#@@@##S#SSSSSSS%%%S%??%%%=;
S%%%%+-;;;=********?S#@#@@S?=-=?S#@@@@@@#S%??**+++*?S#@@@@#SS#SSSSS%%%S%???%%%=;
SSS%%?+===*??????+=*S#@@#%*--*%#####@####S%?**++++*?S#@@@@@@#SSSS%S%%SS%?*?%%%=;
###S%%%????%%%??*=;=%##@S*++%######@#S##S%?**+++++*?S###@@@#@##SS%%%%%%%?+?%%%=;
##SSSS%%%%%%%%??*=;=%S#@#S?S########SSSS%%?*++++++*?S####@#@@#####S%%%S?++?%%%=;
SS%%#SS%SSSS%%???+-+%%##@########@#S%%S%%?%*++++++*?S##SS@@@@##@@###S%%?+*?%%%=;
SS%S##SS%%%%?????*+*??S#########@@#%%%%%???*===+++*?SSSS%#@@####@####S%?**?%%%=;
#SS####SSSS%%%%%%%%%%%##########@#%??%%?*??+===+++*%SSSS?S@@#######SSSS%???%%%=;
@#####SSSSSSSSSSSSSS#############%???%?****+===+**?%S##S?%########SSS%SS%%??%%=;
@#S%SSSSSSSSSSSSSSS####@###SSS###@%??%?+++==-=++*+*?%###%*#@#####SSSSSS%%%????=;
@#S%%??****++=+%SSS###@####SS###@@S??%?===---=+++++?S###@%S#####S###SSSSS%?*??+;
##%?*+++=--;::;?SSS##@@#########@@S*?S%===---===+++?S##S@@%##########SS#SS?*??+-
%?*++=-;;:::,:;?SSS#####@@######@@#?SS?+==---====+*%S##S@@###############S%???=-
*+=-;;::::::;=?SSS#####@@@######@@@%#%?+====--==+*%%%S##@@@@############SSS%??+-
-;;::::::-=+*SSSSSS###############SS#S?*===---==+?%?%%S##@@@@#####SSSSSS#S%%%??=
:::::;-=+***?SSSSSS#############S%S##S?*+==-===+*%%??%SS##@@@@###SS%SSS#S%%%?%%?
::;-=*******?SSSSS####S#S##SS###S%###S?*+=--===+?%???%%SS#@@@@@##SS%%%%SS%S%?%SS
-=*??******+*%SSSS######SSSSSSS#SS##SS?**=---=+*%%?*???%S%%S#@@###S%%%%?%%%%?%SS
????*****+++*%SSSS#######SSS%SS##S#SS%?**=---=*%%??**???++???%S##SSSSSS%?%%??%S#
????********?%SSSS#########S%S#####SS%?**+--=+?%%??**?*=+**+**%S##SS##SSS%%?%%S#
??***********%SSS##########S###S##SS%???*+--=*%S%??***--=++*?*S?%########S%%S?%#
?*****??**++*%SSS####@@@#######SS##%%???**=-+?%S%???*+-=??++++%%*S###@####S%S??#
***???***+***%######@@@@#######SS##S?????*+=*%SS%???*+**==*-%?=?=?@@#@####SSS*?#
?????********%#@###############SS###?????**+?SSS%%?**==+=???%**%-+#@@####S%S??*#
???**********%###########SS###SSSS##S?????**%SSSS%%=?-%*;??;+--;-=######S%S%???S
??****?******%##########SSS###SSSSSS#???????S##SSSS?+=%**+-=+=;=++#####S%SS%???%
?**???*******%####SSS##SS#####SSSSSS#S??????###SSSSS++*:;+++=;;?+%####S%?**++**?
?????********%####SSSS#SS#####SSSSSSS#%?????####SSSSS=*?-;;:;+?=*####SS%??*+++=+
????*********%####SSSSS#S##@@##SSSSSS##?????####SSSSSS*=+????+=?#####S%%??**+++=