;;-,,,~::!**;::;!!!;;;-,,,~~~~------;+=$#@##&&&$&=+;;;;:;::;;;:::--:;;;!!!!***!:
~~,.,,,~-;!;;;;!!;;-,,,..,,,~~----:+%##@@$##$&%=%===+;:;::::::::::---!!!!!!**;:~
.,,,,,~~--,.~!!!!;:,....,,,,~~~-:*=&#@@@##@@##@#=%&%%+!;;---::::::,.,;;!!!!!!:--
~,,,,,~--~,.~;;;;:-,...,,,~~-:!*+%$#@@@@#$&$###%?%&&%=+;::::;:-::-~,::;;;!!;:-~-
~~~~~,~---,..,-~~~,...,,~~:!**+=%#@#$&==%=+*%$?*++=%%%&%!;;;:-:-,,~-::;;!!;:----
~--~---~~~..........,,~:!++**+?&#@#&%=%===%&$=**?%==?++??*;:-:-...~:;;;;!;;:-:::
~~~,-:-~,~~,......,,~:*+++!*+?&##&=+*+=%&$#$$==&&=??+**+=%!:~,,.,,~-;;;:::;;::::
-~~-:::~~~~~,..,,,~-*?++*!!+=&&&==??+=%&&&%==%&$$$$$?**+?=?--,...,,~~---:::;;;;;
~~-::;:-~~~~,,,~~~-*?+++;!+%$##&=?+?%&%?*!;;;!!*?=%%=&&&%%%*;:,..,,,,~---::;;;;;
~~------~~~~~~~~~-!?++!**+=&#&?!!*==?+;~,,,~---::!+=%%$#&%%%:-:-,,,,~~-::::;;;;;
~~~~--~----~~~~--;*?++++=?%&=+!**==+;~,..,,~~~~--:;!?&=&&&&&?~,~,~~~~-;;;;;!!!!;
--~~~-----:---:;+;*++++?=&&%==%+?=+;~,.,,,~~-----:;!+?&?%=?%%;,-~~~~-:;;;!!!!!;;
:~~,~----:::::!?+;*+++?=&$#$&=*+++*-,,,,,~~----::;!*+?%?%$%?=?;-----:::::;;;;;::
:-~-------::-:+=*;!**+?&$#&?**?!!*!~,,,,,~~--:::;!*+????&##$%%+;-~~~-:----~---~~
-------------;?%;;!!+?%$$&%%%=?:;!:,.....,,~-::::;*++++?&@@##&=!:-~~----~,.~~,,,
----~~-------*=%;!!*?=$##@#%+=!:*;~..''...,,---:--;*??=%&####$&?---~,---,,.,...,
--~~~~~~----:?%%!!!+?%$##&?*==!;;~...,...,~~-:-:~~-;*?==%$@#$$%+;,-..,~,........
,,...,,,~~~-+?&%**!?=%&%?++%?+:::;!?=%%%=?*!;!:!:-::!*+?%&@@$$&!!~~....,......,,
,,,,,--~~,:*??$%+*++=&&&%&$?=!;***+=&#@@@@#$=?++**+?====?%@@#$$!:--......'....,,
.,,-----~:**?!&=??++=$####=?+!*!*?=%&&$$$$#$&%===%$#@@@#$&$#@#%?~--,,~,......,,,
.,~-----;?+?+!%?????%#@#$&+=;!*+%&=++=%&$$$$%??=&$####$$&&$##&?%-----~,......,,,
.,~-~~~-+=+?*!=??=?=%&&&$?=!;*?%$%!:;+%&$$$&+;:+&###$&%&&&%$$=%%;:---,,,,...,,..
...,~--;??+?+!=??=?%$$$&?%+-;+%$&=&#@#$$$$&?:,,:%###&=%%$$&$$$&&!:-,..,,,,.,-...
.....~-;?++??*=?===&$$&&%?:-:*??%$&&&&%&$?*;-,,-*$$$$$$&$#$##$$$*~,..,,,.,,-+,..
..,,,~-!?+++??%===%##@@$=;-~~~,,-*=%%%&=+:-~~~,~!%$#####@#$@@##$!.,.,,,..,.~+,..
~-----:*?+*+?=&?%%&#@@#%+-~,.....,-;!*!!-,,,~~~,:?==%&&$@#$@@@$$-'.........!+;..
:;::;:;???*+?=&?=%&#@#&=;-~,,....,,~---~,,,,~~~~-;+?==&$$&=#@#$$,'.....''.!+??;.
:::;;;*=??++?=%==%$$$#%+::-~~,,,~~~---~,,,,,~-::;!+??+++?=?$@#$&.''.....'~++??+,
::;;;!?=?++++==%%&&$@$?+;;::-----:::--~~~~~~,:?%&&$%+++++??=@@#$,.,-.,,..;+++??-
;!;;!??%??+++=&$=%&##&+??+!!;;;!!!;:--~~---:*&##&$$&++++??==@@#$,~-*,,,,:?????=?
;;!!??%&=?++??&#=%&##$=%==?+******!;:---~,~?&#%%&$@$+++??=%=#@#&-:!+-,,,~?+?????
!!!!?=%&&++++??#=%%#@#$%%??++++++*!;::-~,..:?+:?&&#%++??=%%%##$=-;+++-..~++?????
!!!*?%%&$?++?+?&%=&$@#$$=?+*+++?+*!;:-~,....,,,!++%=???=%%&&@@#+:!???*.-;++?????
++++?%&$#&??+?+?$=%$@@&%?**!*++++*!;-~,......,:***?=??==%&&$@@#*;!?++?:!****++??
?????%%&##&?+??=&==&#$&=?!;;;!*+**;:~,,....,!=%&&$&$%==%&&&###$!;!++++*+????+???
??+++===%$$%???=%&=%$%??+;:--;!!!;:-~,,,,~:=&$$####$&===&&$@#$%!*+?++++??????+??
+++++?===%$$=???%&%%&&?*?;-~~-:;;:--~,,-!=&$#$$#@$%?!!!!!;;!!!!!!+?++++?++??++++
++++++=%==%$&====&&%&&&&$!-~~~--:--~~~-;+?+*!;!?%%%%%%=%??+++****?!;??+++++??+??
++++++=?%%&&$%=?%%&&&&#@#*-~~~~-------:;:~-;!**??*+$#$$$##$$$&$&&%??$?++++++++++
++++++?%?%$$$$&%%&$&&&$#@=:----------::;;;*?%&&&&&&##$&&$#@@@$&&&$&&=+++++++++++
+++++*+=%?=&&$$&&%&$&&$$@$!::------::;;;;!+=%&$###$$$$&%&#@@@=++++++++++?????+??
+++????=&&%?&$$$$&%&&%&$##=!;;::---:::::::--~~-;*?&$$$&&$@@@#+++++?+????????????
++++++++%%&&?%###$&&$&%&$#$=+*!;::------~,...,~-:;*=&&&&#@@#%+++????????===?=?==
=??????*+=$$$%&&##$&$$$&&$$&&=?+*!;:---~~~~~~-;!*+??%&&&@@@$?*??????++?====??==?
+????++!*=$@@####@@#$$###$&&%&$&=?+*!;;::::;!+?====%%&&#@@#%*?=?++=?+=??++?+==+?
????=%%%&#@@#@@#$&&%##$#@#$$&=&$$$&&%=??++??=%&&&&&&&&#@@#$?+????%+++?=+*???%&==
*+???%$$#####@$&?+?*;?%%&$###%=&$#####$$$$$$$$$$$$$$$#@####%=?==?+*++%%=+=%??%&?
+*???=$###$$$#&=%?+!::!==??%##%=%%&$################@@@@#@@@#&&%??=??%&%;;!+?%&?
?++=&#########$+%%&+;;**=&=??=&===%%&&$$$###@@@@@@@@@@@@@@@@@##&====%%&*!+*?&&$=
?+?&##$$$$##$##==%%=*+++*!=&%=???==%%%&&&$$##@@@@@@@@#$$$$#@@@@@$&???=?*==*=$$$=
??=$##$$$&$##$#$?==%???!;;;*?=+?+??=%%%%&&$$##@@@@@###$$$$$@@@@@@#$=?%?==?+%$$%*
=%$###$&$$$$$$#@===%%%%*;:;;!!*?=???=%%%&&&$#@@@#######$$##@@@@@@@@$%%?=**+%$+;!
=&$##$$&&$$$$&$@#%=??=&%?*!*!*++%%%??=%&&&&$##$$$$$$#####@#@@@@@@@@@@$%=??=&%!!*
&$#$$$&$$$$&&&$#@#%+?%&$&==?*????=%%%%%$$$%%&&$$$##@@@##@@#@@@@@@#@@@@$==?=?+??+
$$$$$$$$$$$&$$##@@#%?=&$$$$$&==?++++?%&$#########@@##$$$#@@@@@@@@@@@@@@$=?==*==?
$$$&%&$$$$&&$#$#@@@#%=%&$####$%%=====??=%$##@@@@@#$$######@@@@@@@@@@@@@@#&=++===
$$$$$$$#####$#$$##@@#&==&$$$$$####$&&%%%%=?=%&&&&&#@#$$$$#@@@@@@@@@@##@@#$&+=%=%
$$$$$&$#$$$$$#####@@@@&%&&$$####@@#$$&$$$$&%&%%%&$###$$$$#@@@@@@@@@#####@@#&%%%=
&&&&$$$$$&&&&$####@@@@@$&&$$$$####$$&&&$$&&$$&$#@@@#$$$$#$@@@@@@@@####$##@@#&%??
&&&&$$$$&$$#&&$$$$@@@@@@$&&&&%&$####&&&&&&&&&&$$$$$$$$$&$#@@@@@@@###$####@#@#%+?
$$&&$$$$&&$&$$$#$$#@@@@@@#$&&%?%%&&#$&&$$$$$&&$&&&&$$$$$#@@@@@@@@###$#########&=
$&&&#$$$$$&&$###$$##@@@@@@@#&&%%%%%&$$$&$$$$$$$$$$$$$$$##@@@@@@@@####@#$$$#####&
$$&&$####$$$#######@@@@@#@@@##$&%%%%&&&&&&$$#$$$$##$####@@@@@@@@@#######$$$####$
&$$&&$$&&&$$$######@@@@@$$##@@@#$$&%&&%=%%&$#####$$$####@@@@@@@@@###########$###
$$$$$$&&&$$#$$$####@@@@@#&%$@#$####$&&&&%&$$$$#$$$$###@@@@@@@@@@@@@@####$$$$$$##
$$#$&&&&$$##$##$$#@@@@@@$&==%$#$&$###$$$$$#$$$$$$#@@@@@#@@@@@@@@@@#@#######$$$$#