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