`    `       .`    `        `   ``
  *       ` `    `   *  ` `       . , ` `
           `          ' .`.       .,  *` , *      '
      *    `` ' '  `.',   `, . ' `(   ` , . '`  ','
            `, '   .*(   `  .'   +*    `  '   `,.,
            )         .  ` '   . )     .      *(
               .  )    `, +   (o)   .) *      +                *
        *  (      (o).* .).    ,.,     .    . )  .
           (o)    .,|,  ( .    ,`',   )(     .(o)
           ,|,  )  |~\.(.)(  -` \ -  (*)).+   (|,
       *   \~| (*) . |. +(o) ~,(./^\  |.* .  (*)\
           |`\  .  |`./|.||,MMMM(/^\)|~||./  .| |        *
           \ | |~\M\ (M\M|~|.::::\O/M||.\(M\o|~|\/^\
          o|`\M|/|)|`.\|||`:::;;y_|_M|\||M\M||\||/^\|
        oMM\ |,|M/aMMM_|_|M:::::y|O|M|||MM_|_|.|.\M/
       MM.,aMMM_|_MMMM||||M:O::Oh|O|M|\|MM|M||\|M_|_a,.
       pMMMMMMM|M|MMMM|M|\.:O:::h|O|MM|`\M|M|MMMM|M|q
       MMoMMMMM|M|MMMM|M||`"O****|M|******|M|MMMM|o|M
       M:MMMoMM|M|****|M|****MMMh|M|MMMMMM|M|****|:|M
   yyyyyhhhhyy*|y|MMMM|M|MMMMMMMhhMMMMMMMM|M|MM:y|y|*****hhyyyyyy
 hhyyyy::MM:*MM|M|:ooHMMAooPMMPMhYoMMMMMo:::MMM::|:|:     *  yyyyhh
 h   yhhhhh*hhhhhhyyyyyyy:::MMM:::::MMMM:::yyyyyhhhhhhhhhhh*hyy   h
 h    hOO::|:*h::::::MhhyhBhhIhhRhhThhHhhDhyA::Y:h!OO    * |      h
 h   yh::OO|:h*****:::Mh:::::::::::::M::h:::::::OOh:*****  |      h
 h h yh::yy|@yyyOOh**********:::::::::::hy**********y#. yy@|h   h h
 h h##h:h::|:@O:y@h:OyOhOOOhO*************h::hOOh:h:y@#h.@h| h h  h
 hhhyyh:hyy|_h@@@`@yyOO@hOhMMMhM#yMhMh##y#h#|hy@h,h_@y@@@yh|  h   h
#h#h,_h,h~~|;h;;M;h@@@@O@hOMOMh@yMMh#hy@##h#|h@;@@@@;y~h-.h|OOh,  h
#h-h^OhOh;;h*h;MM;h|OOOOM@@@@@@M@yMh#h@y@@@@@@;;h;hyy;;h;;*~-,hOOOh
(hhOOOO;;;;;;*MM;;;;`^^-OhOMMOhyy@@@@@#-y^';;;;;;;;;;;;;;*;OOOO:.Oh
:hyOOOOOy;;;;;*****;;;;;;##OOOOOOOOOOO##;;;;;;;;;;;;*****;;'OOOO:yhO
::~hhhhhhhhhyyhyyyy**********OOOOOOOOOO,;;**********yyyyhhhhhhhhh'OO
`:.OOOOO~O..O.OOOOyhhhhhhhhhh*************hhhhhhhhhyOO..OO~OOOOO:OO'
 `:.OOOOOOOOOOOOO~OOOOO...OOO.OO..OOOO..OOOO.OOOO~OOOOOOOOOOOO.:''
  `:. `OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO'::
   `::.      """"""""""""""`,,,,,,,,,'"""""""""""""""""       ::
    |::.     ,:""`:.      '~`OOOOOOO' .:'~`:.     .:~;.,;~;.  `:
    `| `:.,;'   .  `:.     .:~;.OOO'.:'     `:..,:'        `:.;'
     |:          :   `:..,:'   `:.,:'          .           :|
                              OOOOO
                           .,OOOOOOO,.
                      ,OOOOOOOOOOOOOOOOOOO,