::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::''''''```''''':::::::::::::::::::::::::::::::::
:::::::::::::::::::''``` ``'::::::::::::::::::::::::::::
:::::::::::::::'' .,,nmnnmnnmnnnx.. ``:::::::::::::::::::::::::
:::::::::::'' .,,nmMMMMMMMMMMMMMMMMMMMMMn.`'::::::::::::::::::::::
:::::::::' .,nmMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMn.`::::::::::::::::::::
:::::::' ,dMMMMMMMMMMMMMMPPPP"""""""""""""TTTTTn.`::::::::::::::::::
:::::' uMMMMMMMMMMPP" `" `::::::::::::::::
:::: ,dMMMMMMMM"" `:::::::::::::::
::: ,MMMMMMMM" `::::::::::::::
:: ,MMMMMMMP ,; .,;;,;,,;,,. ::::::::::::::
: !!;- `::::::::::::::
)MMMM ,d$Fr d$$???$$ ?$$$$ $$$$ $> ?$$ .<- ::::::::::::::
. MMMM <$$ $$' )F <$$$$ ?$$$ "h =" .' `::::::::::::
: `MMM, ,$L` ?$, ' z$$$$$h,$$$hcccccc$$$. `:::::::::::
: "MM> `$$hc,,,.,,,cc$$$$$$$$??$$$$$$$$$$$$ ``::::::::
: "Mb $$$$$$$$$$$$$$$$$??" d$$$$$$$$$$$h \ ``::::::
:. `T $$$$$$$$$$$$$$$$$h.,,cd$$$$$$$$$$$$$ ``::::
:: $$$$$$$$$$$$$$$$$$$$$$$$$$$F"?$$$$$$ `::
::: "$$$$$$$$$$$",$$$??"""""""""- `?$$$$ \ `'
::: ?$$$$$$$$",;P" .,,,cc- ,d$$$$$$ !
::: `$$$$$$$" .cc$$$$$$F $$$$$$$F `!;, `
::: ' "$$$$$$$$c `;,,,.,;;'' ,$$$$$$P !!!!!! `!>
::: !; `?$$P'<$$c,`'' ` ,$$$$$$F !!!!!!>'!!
::: `!> `" <$$$$$ccc;;cccd$$$$$$" ;!!'!!!
:::. <..!!>;;,,,;' <$$$$$$$$$$$$$$$$$$F ;!! ;`!' !'`!
::: . !!!!!!!!!' "?$$$$$$$$$$$$$$"" ..,;;
::: ! !;!>'!!!!!!! .hc,""??$$$$$P"",c d
:::: .zd$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$P" 4M M M
::::: .,zc$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$P",d 4M M ,M
::::::...: .,cd$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$P" )M> dM M dP
:::::''' n `??$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$??"" nM dM> 4M M d'
::' 4M M .`"?$$$$$$$$$$$$$$$$$$$$$$$??""" ;n MM- 4M> 4M, M d
' ;M 4M M M n.`"??????????????"""`.. MM `M MM 4M> 4M> M M
M M M M MM MM ;n nn MM 4M' M P
c "L M M 4M MM MM 4M MM MM 4MM MM 4M dM `MM 4M, 4
$ 4 4. M MM MP MM 4M MM ?M 4MM MM 4M, MM> ".x 4M> '
$L `x L ;M MP M> M> MM 4M MM `MM MM 4M> `".ndMMM,`MM
$$c `r " ." M> M> M> MM 4M, MM> MMr P" .,nnmMMMMMMMMM 4M, 4
$$$c 4 MMbn. P `4L MM dM PP' ",,nnmMMMMMMMMMMM""MMMMb ML $
$$$$. \ 4MMMMP4Mmnmnmn,,.xnmnnnmnmMMMMMMMMMMMMMP")MMP".nMMMP4Mx`M ,$
$$$$$r 4MMMP uMMP uMMMMMMMMMMMMMMMMMMMMMPMMMP".nMP xdMMMMP 4Mx`h d$
$$$$$$c ,dMP",dP" ,dMMMMMMMMMMMMMMMMMMMP".nP" .nP".nMMMMMMMMr MM,'x $$
$$$$$$F xP" .nP".nMMMMMMMMMMMMMMMMMMMP".uM" .nMMMndMMMMMMMMMMb <`MM," <$$
$$$$$",dM,nMC.nMMMMMMMMMMMMMMMMMMMM".uMMMLuMMMMMMMMMMMMMMMMMMMn x`MMx $$$
$$P".nMMMMMMMMMMMMMMMMMMMMMMMMMMMMMnMMMMMMMMMMMMMMMMMMMMMMMMMMM,"."MMb `$$
P".nMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM b."MMM,`$
.nMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMb`MnMMMM,`
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMnMMMMMMMx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMML.""44MMP44MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM'
MMMMMMMMMMMMMMMMMMMMMMMMMn.`MMn.`4MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMP
"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM, `44MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM .
.`4MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMn. "4MMMMMMMMMMMMMMMMMMMMMMMMMP";MMM' :
$c "4MMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMx ""4MMMMMMMMMMMMMMMMMMMP" ,MMM' ::
$$$c,"444MMMMMP MMMMMMMMMMMMMMMMMMMMMMMn. `""444MMMMMMMPP"" uMMM' :::
$$$$$$hc,.""MM dMMMMMMMMMMMMMMMMMMMMMMMMMMbn. .nMMMMP ::::
$$$$$$$$$$F M",MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMbmnn,,,.,.,,,nmMMMMMMP .::::
$$$$$$$$$$F P dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM .:::::
$$$$$$$$$$h uMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM' ::::::
$$$$$$$$$$P dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMP :::::::
$$$$$$$$$F dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" ::::::::