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