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