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