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