%%%%%%%%%%%%&&&&&&&&&&#&o+&&&&&&&&&&&&&&&&&&&&&&&&&#&&##########&&&&&&&&&&&&##&#&&&&&&&o&&&%&o--&&%&#o<:"-~=##<-**"::++++<<<=~=~=<<=:" ...... ":-<#o
@%%%%%%%%%%%%%%%%%%&&&%#++&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&~=#%%%&o+o&#+=-:~-"`:-=+o<<<======+<<=+o#~ .. ":-~=+
%%%%%%%%%%%%%%%%%%%%%%%%#o&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%o~+=<&#=~o##++<~==-* `---+<<<~==<~=<=<o+=+*.. "===
%%%%%%%%%%%%%%%%%%%%%%%%++%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%#~#%<<##+oo#o<=<<ooo=" `":===<o<=+=<o<=o++~.. `::
+o#%%%%%%%%%%%%%#++o%%%%++&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&o=###-o+#&#+<<+<++o<o<=-*``"*:-~=<:**``` ... `*
++++++#&@@@@&#o<=~~<&%%%++&&&&&&&&&&%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%&%&&##"`"*:-<<+<~~+<<<<+oo<~==-:"`"` *~<+<<==-`...
ooooo+++++o#%&==<--=<==++o%&&&&&&#&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&%%%%%&%%%&%%&&&%&%&#&o==+=-"`*:---****"*::-<~~-`. `"*:-~~=<<`.
++ooooooo+++++++o+=~--+#++%&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%&&&&&&&&##&&#o+++oo+o#o<=+++=<<--<-~<=<~*--*" . `::-*
-=<+o+o+oooooo++++++o++<<+#&#&o####o###&&&%@@@@@@@@@%@%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&#o#&&##o&&##+o##++ooo<~===-<-=<-<+<~~: . "*:". "
. `**-=<+oo+oooooo+o+o++<+#&&###o#ooo++##o#&%@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&%%&&##ooo##&####oo#++o+##&o<+=::---~-=-==~~*:==-* . .
""`` .. `"*-=+#o++oooo<+++++oooooo###&ooooo&&&%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%&#&&#&&o##++&#&&#oo##o+<<+<+=+<-:~==::==~~-~-===<===~-=<
:*****""`` .. ``*:~<ooo<+oooooooooooo##++#++oo###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%&&&######o#o#&###&&###+oo#+o<-:-:":~~**~-<<~+<==+<==<o
`*:--::****""`` .. `":<+ooooo#ooooooooooo+o++o#&&%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%%&&%%&&###&#o#o+oo#o#&#oo+o++<++--:`..`"-~--~<<~~~===+<~~
......... `*::::***""```<< . ":~+ooooooooo+ooooo#%%&&@@%%&&%%%@@@%@@@@@@@@@@@@@@@%%@@@%%&%%%&&&&&%%&ooo+o&&#+<oo#o+<=oo=~<::--~--~-----------------
............... `"*::***<<"`` ... `:~+o#&#ooooooooo#&%%%&&%%%%%&&%&%@@@@@@@@@@@@@@@%%%%%&#&&#oo#o++++<<=~~~~~-:---::::::::--::-:::-:::::---::::::::
...................... "<+:**"""`` ... `*~<o#o##ooooooo##&%%%&##&&&&&&@$%o++<<=~~~~----:::::::::::::::::::::::::::::::-::::::::::----:::-----::::::
....................... << .... `***"`""`` ... `*~+o####&&&&&#####&o=--~---~~~~~-----------::::::::---:----::::--:::-:---::---::::-~~-~~-::::--::--
````` ` ....... <+`....... "-====~-*""`` .... *~<#####&&o=~-~~~~~~--~~~~~~~-::::---:::::::-=~:------~~~-::--~==~--:-----------:~~~-:::::::=-
` `` ` ``` =+```````"~~~<##&&%< "****"`` ... `~<~-~~~-----~=~~~~~~~~~~~~~:::-~~==~--~-:::=~:::::::--:--~-=<<<-::::::::---~-::::***::::
``*``` ```"````"**```**`=+:"*-=-<o+=<<+#&%@=......... `:~~~~~=~~~~~~~~~~~======~~------::::::-:-:----------::::--:::::::::::::::---:::::--::::------
`""``"`"""````""""*:*-::<o~:-=#<<oo+o##&#%@=....... :~===<==~~~=======~~~~~=~==~==~~~------::::::::::::::::::::::-::--:::--~~~~~~~~~----:~=~:::::::*
"*"*"````""*"""""""**-::<+<=<<<=~<++%####&%=...."~=~======~~~~~~======<===~=~~~~~~~--------::::::::::::::::::-~~~~~~~~===~~-:::::::::---===------~<+
`""*"""""""""":""`"***~-=o==<#<<=<o####o&%#=~~~~============~~~~~==~~~-~~------------------:::::::::::::~=<~=<============~~~~=<<<<=~-::::=<=<<:----
&%#*"*"""`:-:***:"""**""~+~-:-~==<#oo##+=~~=======<=====~~~~~==~~~~~~--~------------::-:-:::::::::::::::::::~=<<<<=~~~-::::--~=<<<<======<<<<<<++<==
oo#~::-~=---:-::--"**=<~<o~-~~~==~<<=====================~~~~~~~~------------------::::::::::::::::::::----~<==~~~~=<<=~~---::--~~~~~~~---:---------
<<-"*"*:**-===-""*`"-<&o<+==<<======<<<<<<<=====~~~~~~~~~---------~------------:::::::::::::::--::::::::::::::::-<=-::*:::::::-~~~~~~--::-::::::::--
+* `""*" "~~: "*"-o"++<========<<<<=====~~------::::-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-~==~--:::::-~*::***::--~~==<<<
~*~<+o~o&+::--<o+%&+++<<==<<==~~=-~~:::::**:*<~***********:-:::::::::::*******************:****:********:::::*::::::::::***::~~=<~**"""""""***=:*:::
"``""""**"":"*o#<~<<=-*********"""*****"**********"***:********************:*****:*****:**:*"**************::******:****::::::-=::*~+:::*:*:--------
.``..``""`***"~<<=<<<+<-<+=~::-:**-:::*::-::-~~-:*":*"":-"""""""""""*****::::****""`"""***:-*:~--:::**:-:::-::-::::::-:-----~<=~++~***********:****
<<++++++o+<++o<=~-+-*`````````"""```""*~-:**~++-::-*""*~-:::-=+oo=`:*""**-*-<-:=*``":``:"**"**:~<=<o==~o#%o<<++=<~~~<===-:-~::**::-********::*:***:=
oooo++++++<<<++<+=~":~::**""""` `*"``"::":``-: `*" `"=<=~` `*""+:~<" `` `` *".*:*":-* ` `` . "` ~=::<+=-***~=-~=~::~***:**-~-=
oooooooooooooooo#=*~=<<-"``""`````""":**::****"**" `":*"` `*``````"*"""`""`"``""```""**""""` "` ``"`"""`` `""`""-<++:== "=<` . .
oooooooooooo#####~**:<*````````````*:"`*"``"*"***". .`~<"``"""`````""```""***"*"""**"```"-"``""::"""``""":::*:::*:-:**:*"` """*::::-:"`*`"* . .
o#ooo#ooooooooo#o~::=~""``` ````` :*``"```"``""*oo* `*-"``"`````"`````"`"```````````` ```````" ````````""` :*`"`......"+o: `` ````"``
oooo#########&&&#-**:-""````````````"````""*"``*"`:~-*"*"" ```````""`````"``` ``` ``````````"````````` "*`~" .:<="````````"```` ```````
+ooooooooooooooo+~-*-=::"```````````"``````````"::":*"*:*`````````"` ``````=#%%&&&+" ``` `````````":```````"` <<:"`` ":-:"```"``````````"```
+++++++++++++++o=**"~=-"````"`"""``*"`"``""```""`"````*:*```````"```````` ~&&&#&&&###o" `` `````` ` ```````` *~~-:**-~*`````````````"""""**""
oo+++++++++++++o="`":=-"*"""""````""``````````""`"````"**` ``````````````*###o++ooo#o+=* `` `` ``` ``` ```"`````*-"```````````````````"*"``
++ooo++++++ooo+o=""*-=-"""""::`````"`````````````"````""*````````"```````:" ":=+#+~**--" ` ` ` ```````````````````````````````"""""
++++++++++++++++<""":-*""*""```"```"```"**"```"`""`"`"""*"```````````````"--~-:=&~-=*":~` `` ` ` ````` ```````````````````""""**:***
=+ooo+++++<<<<<+<"*::-""""`""``""""``"` """`````"````""""""``````````````*"+@%%#o#%%+":-` ` `` ` ````````````````````````"""""""""
=~~<<=<<<=<<<<<<=*"*:::"""```````"***::"```""``````````""`````````` `"*:~-<@%&+<o&#+` `` ` `` `````````````````` ``````````"`"""`""
*-==<<<<<<<<<<<+=*"*::*"""```````"""``""````""``````""""""``````` =&o==o<<&<~-:*:::~*"=<=~o&+:=<~-:*"`` `"````` `*``"```` ":```````````"""```
++<~=~~~=<<<<=~=<*"*:**""``````"`""````""` `""`"```"``"```````"=&&###~~=~:"=++<===:-~<-:=+<+%+-~~~~=<+oo#&&&&&#oo+<=<<==-*"`` `````````````````
o+<~~=====<<==<+-`"=~**"`""""""""**``"``" ````**```````""````*#%#o#o+#+====<=~-:**:-=-:~+oo=#+<#%&o#&%%%&&##o+<<=~~~-~~~==<+o#&&&&&=```````````````"
o+=~~=~=~=~~~==<-`"--*"""""""""""*"````""""`"``""""`"""""`"*=oo#&&&=-<=<&&%&&&#####o==~&o<++<o&#o~+<+#oooo+o++++#%%&%&&%%%%&&&#o+<#o`````````"``````
+<<~-=<=<======<~"*:~*"``"``"""``"``"""`""`````"`"**"``:o&%&oo#oo#o=-*=oo++<ooo+<<<<+~~<-~&&&&o<#&<&%&%%&+++o+<++ooo##&+o#&#&&&%%&%<```"``"```""````
===---o#oooo+++<~:**~*"""```````""""*"````"````"`"`""`:%@%%%%%+o+o<=~*<#+<o=+oo<++=o+-~*:<&o%###+oo+&&&%#+o++o+######o+++++++o&&%&%=""``"``"`""""`""
=~~-:-~ooo######+-:+-""""``"`"``""``````"*`:"``"`"""``<&%%@%%@#+<-=~:""::~~=~===<<<o=***:-<==o##o+<<=&%&&##&%<=++##ooo<o<++<<<ooo#&-"*"`````""""``"`
~~----~~o&&###&o-::--"""""*""`"`````"``````````"`""""=@%%%%#oo<-*:=%@%%%%%%%%%%%%%#: ``*-+#&%%%%%%&#<<&%#%+=++o&&:<=-=#&+o%=:o&&&&&*`"``````*"*""""`
--------<#####&#<::=:"""""`"*"""````````"````"`"``"":#&&%#o&:"``*&%%%%%%%%%%%%%&&&&#o#%%%%%&%%%%%%%%#=o%&%&%#~+&+=###o#%+#-<oo&&&&&"```````"""***"""
-:::::-:=&######-""=*"""""""""""```"``````````""`"""`=ooo+o=:*""#%%%%%%%%%%%%%%%&&<o&%%%%%%#o#######o<&%&&-<<++&o+#ooo&&#&#oo#&&&&o"`````"````""""""
:***"*:=#####&&o:""~*""*"""""""`"`"`""````""`""**""""```~=~+&%@@%%%&###o+oo+o&%%%%#+#&%#&%<```"-==~+&&%&-*~#ooo=&%%%~+%&-+&o+&&&&&<``````"``""""``""
**"*:-=#&&&&&#&o"**=*""""""""""""``"``````"`""""""""```"<oo=<-:**:=++o&%%%%%&&####o<===#+<:`` -<++o#&%%#o##ooo##o=~<#o-*~o<<=&&&&%=`"```````""``"```
***:~~+#######&o:""~:""""""""""""""```````"""""""`"````=+#&&#<~=~~-=+=<+=<==~~<oo#&%%%%%%&&#~`"-=<++&%%&&&&##o#oooo##o+##o#oo&&&&%~ ```"`"`""""`""""
:-:::<&&&&####&o*"*~:""""""""""""`````````"`*""*""""`"-#&&o<o&&#~-<<~+#&#&###++<<++:"-:-:****":~-+&o#%&#####&#ooooooo#o##&&&&&&&&&:``````"""``""""""
:**:-o&&&##&&&&+*":=*"""""""`""""""""```````"`""""""`:&&&&&+<###+~=<<=&&&&%&&&&##=*==<~=~+###++~=:=%&%&##&<+&o+oo+#ooo#######&&&&&*```"`"`""""```"""
"*":-o########&+"":<*`"""""""""```"`````"`"""``"""""`~&&&&&&=oo<<=+~==o%%%%&&&&#--=<=~*~#######o+=~o%&&o#%=+#&%&&%<oo###ooo+%&&&&#"```":*""`""""""""
":::~o####&###&+*":-"````""``"":*""""```"""""""``"*"`:##&&&#=-<~-~-<<~o%%%%%%&&~:<<~<~++<o#+=o&&#<:-o%&o&&~+&%~oo:*<#%o**:*=%&&&%+`````""`""`"""*"`*
-:*--<&#######&+"`::```````"``""``:*``"":"`""*""*""`""-ooo#+<<#oo--*"`-#&&&%%%#:-++~-=~-++o=o%%%&&o~=&&#&&=o&&=######%#+#+##&&&&%=`"``""`"*"""""****
*::-:~######&#&+"`-:`````````"""```"""**""""**"-:"*"``:<~<<=<##++<=++o+==<+o#&+-"<+==:-~---~#&#&&##<#&#o&#=#&%<#+o#o#%##%o=&&&&&%~`**"*""""`"`""::**
*::::-+&####&#&o-:<:```"```"`""""```"``````"*:::**""**o#<oo####+~==`":=o&%&&&&&&&&#=-~~<o#+-##o#ooo<&&#o-*=#=&%%%&-+&&+o###&&&&&&:`"**""`"``"":::~-:
-::::-=#########+:<*`""""``"``""`````"*`````":*:*"""`:&+~+++#&ooooo<<o+=-*``"-=o&&%&o~=o##o~~o#oo#+o%&##&&###<-**~#++#&%%&=&&&&&#*`""`""""`"`:*""***
--:::-~o#o#######-=*`""```````""```"*"*"```***""""""`+&o"`~o##&&o+o=` `":~<o+=-"` `==<+o#o<<~~-*+%%%&&###o#+ooooooo+<~-:=&&&&&#"``""""*"""""""""""
---:::-<ooo####<:*<*`*"`"`"""""""``````""``"""""""*"-&#-*"`:oo++o#oo-````````` `:*-<+#oo###+<<+&&###+=~~~=<o#%%%%&##oooo&&&&%+`""""""""*"`""```"`
-:::::-=+++oooo~*:+*""~-"""""""``````````````"**"**"<%+"""""-~~==<o+<:`""*"`` "-:-#~~=o#o+<==<" `"-=+#&#&##oo<=~-~=+o&&&%&&&&<`""""```"""`""`""``
-::::::=++++++o-"-+:*"""""*"""`""`````````""""**"*":&&-`"""":<::-:-~-*"""""`""`"````"-o#ooooooo+- ``````` `":~<o&#&&#oo+<=~~~<&~`"`""*"""**:*"*"""`
~---::-<<<<<+++=<-=-""~:"""*""""````````"""`""""""`"-*"""``*~=-~++o+<"````````````"":-+=<++=~<<* `` ` `````````````"```*-=+#&&:**""*"""*::::-*"""`
~-::::=++++++++~*"~=*""""""""""`"*`````"```"""`"""""****"-o&&<=~-----:****""``"-<~:`"<-:~==<~-=-`````` ```````````````````""**"""**"""**"***:--**
-::::~<<<<+++++-*"=+*"**"""*"""""""``:*`"``"""""""***:*""~o#o++=~==+=*`"""``"`"=+~: :#=~-:~:`=o=`````` ````````````````"""`"""""*""""*""""""*"""::*"
-::*=<<<<<<<+++<*:*~****""""*""""""`::"""":***""""":*`":*"""`"````"""""`"`""`""":*``~+<=-~~` -o<""``"``````````````````"""**-~::*""""*"`""""*""*""**
:**~<<<<<<<<<<+:-+~-"""""""**""""""``"````"*"*:`"""``"""""""""````"""*"```""""*"*"`-<++=~--: -&+"``"```""""`""::*"`"""``*"::~-~*""`""```"""`""***::*
"*-==<<<<<<<<<<-*:+~"""""``""""""""`""`"```""*:"""```""""**""*""""**`****:***"""""`"=<++o#o="*=~"``"**``"""`""""::*"""""``""**""""``````""`""""""""*
"*=<<<<<<<<<++<~~:<:""""`"```"`"""`````"`"```"````""**--****"**:"~-`"`""""`*~:"""*"*:"""`*~~**:"*"``````"""****"`"*"*"`""`"""``""*"`"`""""""""****""
":<<<<<<<<<<++<o~`-:""""`"```""""*"````""""``````` `""***```````"":-"*":*:"""*"*""""``**"":*"::::**""``*"```"*""""""::*""`""`"*"`"""""""""""`"***"`*