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