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