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