.,ueeeeeu,
   e$$$$$P?$$$$$b
 :$$$$"      '$$$$c
 $$$$          $$$$c
 $$$6          $$$$$
 $$$F          $$$$"
 $$$F          $$$F
 $$$$         $$$F
 $$$$        J$$F                                   .ccCCCCCCCCc,.
 ?$$$        $$$$$$e                             ,CCCCCCCCCCCCCCCCCCc
 :$$$        `$$$$$"                            CCCCCCCCCCCCCC" CCCCCC.
 `$$$.                                         CCCCCCCCCCC" .,d.`CCCCCC.
  $$$t             .,uuuuu,.                  <CCC  . `"",$$$$$$L CCCCCC
  ?$$$          ,HHHHHHHHHHHHHb,               CCC $$$$$$$$$P"""" `CCCCC
  `$$$        4F"" .,uuuuuuu,,,,.              `CC '=-  "$$$="""$$r C><C
  `$$$,      zuHF""`.,,,,,,. ""??HH             `CC bue$:$$$$bd$$$ C ? C
   $$$$      -=='.ee???$eeeec,,,.`=.             `C $$$$ $$P???$$$ C  cC
   ?$$$     ,H""  .e$P"""?heeee,,.""               .'P .cc-=<Cc,  cC'CC'
   `$$$    HH jF $$$b,`"""cd$$..,,)                 \ <>".  .,cCCC> u
   `$$$. .HHH H':F $$$du,$$$$ ' ";l                  CCCCCCCCCCCCC'.$$
    $$$h HHHF H H  "$$$$$F d$ 4$$ H                ,z "?CCCCCCCC> J$$  :: $
    ?$$$ HHH'jF.H % $P" ...'" u$ J'            .d$$$$F .   ....zd$P" ::: d$
    :$$$ HHH H HF %%,%%"     %' dH           j$$$$$$$$ :::        :::::  $$
             ? HF %%%%%.%. " % JHf        :: $$$$$$$$$. ::::::::::::::: d$$
 .:::::::::::::   `%%%%%%%%%%% H"      ::::: $$$$$$$$$$ :::::::::::::: d$$$
:::'``````````'::: `%%%%%%%%%'JH dH   :::::: ?$$$$$$$$$ `::::::::::::  $$$$
..:::::::::::::::.  %%%%%%%', H" H",""  `::: ?$$$$$$$$$' :::::::::::` $$$$$
   ... . ::: : . `: `eeeee;".F -.H dHHHHc.    $$$$$F"`.=" `:::::::`  '?$$$$
:::::   .ze$eu  . `:  =uuuu/"z".H" HHHHHHHHHHe. "" e$$$$$$b  :::: ee,.  '$$
'   z$$$$$$$$$$$$$  `.zeed?"".dHF HHHHHHHHHHHHHH  $$$$$beeem ':  ec,"$$$$,'
 : 4$$$ .   $$$$??  beeeeeedHF"".HHHHHF"" _,,..    `$$$$cze= ': ,,`"$$$$$$$
:  $$$$$b,,d$F  ,  .HHF""".,zeHHHHF",,;!"` .,;;!!!;;. ?$bee` :: `""9$$$$$$$
: $$$$$$$$$$$L.,  c,,eeHHHHHHHHF ,;!' .;!!!!!!!!!!!!!!.  . :::: ""??$$$$$$$
 J$$$$$??$,`'". .HHHHHHHHHHHH" ,!!'.;!!!!!!!!!!!!!!!!!!  \ ::::: d$bc. "??$
 "$$$$$$h  .; .HHHHHHHHHHHF" ,!!',! !!!!!!''''`  '''<!!;  ? :::: d$$$$$
:$ "$$$$$$$F uHHHHHHHHHHH" ,!! ,!! !!!"                !;    ::: d$$$$$
$$$    """    "HHHHHHHHH ,!!',!!!! !" .d$$$$ezece$$$,   !    ::: d$$$$$ '
...:  ::::::::  3HHHHH" ,!!',!!!!!   d$$$$$$$$$$$$$$$t   >   ::: d$$$$$
:::: ::` .:::::  HHHHF ,!!' !!!!!!  9$$P""""?$$$$$$$$"   ! ; `:: $$$$$$  :
:::   .::::::::: ?HH" ,!!! !!!!!!!  3$$$.``''$$$F - ;    ! ! `:  $$$$$$ `::
::  .:::::::::::  H" ,!!!'<!!!!!!!;  $$$$$$$$$$ teeJ' .  ! !  : d$$$$$$ `::
` .:::::::::::::: " ,!!!! <!!!!!!!!   $$$$$$P??'?$$      ! !; ` d$$$$$$L ::
 :::::::::::        `<!!! !!!!!!!!'   '$$u,"""" ,' .  ;  ! `!.  d$$$$$$$ ::
.:::::::  aeeee$$$$$$e   <!!!!!!!'   '.`$$$$$$F'  ;      !! !!, $$$$$$$$ `:
::::::::::`""777d$$$$$$u  !!!!!!   '  $$ee,,,eF  <  ,    !! `!!; $$$$$$$L :
 ``````::`` d$$$$$  ?$$$b `!!!'  , .  $$$$$$$$    .     . !! !!!, $$$$$$$ :
eccec,.  ,zd$$$$$$$$$$>$L; !'   ; ,   """""""       ;    \ `! !!!, ?$$$$$ `
$$$$$$$$d$$$$$$$$$P""""` .  .  '     !!!!!!!!! .    `;  ` `  !, !!; "$$$$ `
$$$$$$$$$$$$$$$$$F    ;!!'    ,'   .. .. ``!!! !     `;  \ `   `\`!!. $$$L
>>>"""""""??$$$$k ==" !!'  ' ,  , d$$" u":". !! !  \  `;  `   ;!;,`!!, ?$F
$$$$UUU$$$$u,"?$$$ =" r   '    $F4 ".$$LJ 3$L !!,`  ',    \ !!;,.`!;.`!. $
$$$$$$$$$$$ec. d$$$  f     '" $$F4.$"zP"$$b."b  !!,` '!  . :!!!!!!;.`!;
"""```"=??he,  ?$$$b ,;'!  ! d$$$$$d$b$$$$$$F?$       `!.''  ..... `!, !;
,,,,  ,,,   ::: $$$$ `!; ';" $$$$$$$$$$$$$$$c`" d$$$$$$bc, "?$$$$$$$. !,`!;
$$$' $$$ '::::: '$$$> !!!!!   `?$$$$$$$$$$$$F  d$$$$$$$$$$F,u.'$$$$$$c !;`!
 : .$$$"x :::::  $$$ ;!!!!!, $.   ``"""""" .,z$$$P"?$$$",ed$$$b $$$$$$ ;!!!
$e $$$" $R ::::: 3$$ !!!!!!!,`$$bd"uer  .dP"""?$$. ?y, "4$$$$$$,`$$$$F ;!!!
" d$$$  :::::::: )$$ !!!!!!;   `$$bc      . "?bey,. `d$$e `$$$$F $PP" ;!!!!
 d$$F $r ::::::  $$$ )!!!!!!     `$$$L".W. "?$by,`"d$$$$$$c $$$" .eeeeu  '!
J$$" :  .::::  . """ !!!!!!!;.     `??$  .,._  `"3$$$$$$$$$b,,,d$$$$$$$$c
"$" ::::::'    :  !!!!!!!!!!!!;;;;! ueee.  `"?$$$$$$$$$$$$$$$$$$$$$$$$$$$F
:.:::::::  `:: :: <!!!!!!!!!!!!> z$$$$$$$$$$$be..`'<<<??$$$$$$$$$$$$$$$F .;
::::::::  : :: ::  !!!!!!!!!!!':$$$$$$$$$$$$$$$$$$beeeeeee,.    ```"` ,;!!!
::::::  ::: ::: :  !!!!!!!!!' . ""??$$$$$$$$$$$$$$PF"""'`   .,,;;;;!!!!!!!!
:::::   ::: `:: :: `!!!!!!!  !!!!!;,,,,...   .....,,,;;;;;!!!!!!!!!!!!!!!!!
:::  :: :::: :: ::  !!!!!' ,!!!!!!!!!!!!" ,!!!!!!!!!!!!!!!!!,`!!!!!!!!!!!!!
:`  ':: :::: :: ::  !!!!' !!!!!!!!!!!!! ,!!!!!!!!!!!!!!!!!!!; !!!!!!!!!!!!!
 .:: :: :::: :: ::  !!!' !!!!!!!!!!!!'.!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!
:::: :: :::: :: ::  !!' !!!!!!!!!!!!',!!!!''.,;;;;;,.`''''''' `!!!!!!!!!!!!
:::: :' :::: `: `:  !'.!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!;;,,..`'<!!!!!
::: :' ::::: :: ::   .!!!! .!!!!!!! ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;;,, '
::`.: .:''` ..  . `` .  '  , '!!!! ;!!!!>:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       ...\..>\\.\\.\\\\ ,/ |,   ' '```''`<<''<'<<<<<<<!!!!!!!!!!!!!!!!!!!!
`\>/`\\\>\%`%%"./'%..\=///,%//,,/', ,/'' ,/   ,   `'''''''''''''''''!!!!!!!
//>;>;\.""./';./>.`\- |`/./'','./|'"/`\\</%/'//%',':::::::::::::::: !!!!!!'
\.:\'.'///'">>>`,`/'.  '. ,` ,/',/',|%//<</,'<^< -=-<'\\'-::``,::'. !!!'` .
/==>'/%.////;.//>>,/,;,.-.`\`,..\`<.\\=\\-^//=/<<\\%'- ' .,::` ..:' '` .:::
'/'/''/'/>.''</>(\<|/%<%///>\`\%</>>\\%\\\>/\'\\\\< `.,''  ..::'`.: .::::'`
/',/"><|,/','/'>,/,/'>/|/>\\`|"\|<``\`\"" \<```.,,'``  ..::::..:::: :::
::::::::::::::::::::::...::::::::::::::::::::''` ...::::::::::::::: :::
............................................. .:::::::::::::::::::: :::
::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::: :::   .