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