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