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