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