LL         '''      A      RRRRRRR     CCCCCCCC            DDDDDDD    EEEEEEEEE
                        LL         '''     A A     RRRRRRRR   CCCCCCCCC            DDDDDDDD   EEEEEEEEE
                        LL         '''    AA AA    RR     RR  CC                   DD    DDD  EE
                        LL         '''   AA   AA   RR     RR  CC                   DD     DD  EE
                        LL               AAAAAAA   RRRRRRRR   CC                   DD     DD  EEEEEEEE
                        LL              AA     AA  RR  RR     CC                   DD     DD  EE
                        LL              AA     AA  RR   RR    CC                   DD    DDD  EE
                        LLLLLLLLL       AA     AA  RR    RR   CCCCCCCCC            DDDDDDDD   EEEEEEEEE
                        LLLLLLLLL       AA     AA  RR     RR   CCCCCCCC            DDDDDDD    EEEEEEEEE

                   TTTTTTTTTT  RRRRRRR    IIIIIIIIII   OOOOOOO   MM     MM  PPPPPPP    HH     HH  EEEEEEEEE
                   TTTTTTTTTT  RRRRRRRR   IIIIIIIIII  OOOOOOOOO  MMM   MMM  PPPPPPPP   HH     HH  EEEEEEEEE
                       TT      RR     RR      II      OO     OO  MMMM MMMM  PP     PP  HH     HH  EE
                       TT      RR     RR      II      OO     OO  MM MMM MM  PP     PP  HH     HH  EE
                       TT      RRRRRRRR       II      OO     OO  MM  M  MM  PPPPPPPP   HHHHHHHHH  EEEEEEEE
                       TT      RR  RR         II      OO     OO  MM     MM  PP         HH     HH  EE
                       TT      RR   RR        II      OO     OO  MM     MM  PP         HH     HH  EE
                       TT      RR    RR   IIIIIIIIII  OOOOOOOOO  MM     MM  PP         HH     HH  EEEEEEEEE
                       TT      RR     RR  IIIIIIIIII   OOOOOOO   MM     MM  PP         HH     HH  EEEEEEEEE

                                        ..........,'RRRRRRRRRRRRRRRRRRRRRRRRR`,..........
             1^?##-------##-------##-------##-------##-------##-------##-------##-------##-------##-------##-------##1
             1                                                                                                     1
          -------------------------------------------------------------------------------------------------------------
           ===========================================================================================================
             1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1 ' ` 1!!1
             1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1 ` ' 1!!1
             1!!1     1!!1     1!!1     1!!1     1!!1     1!!1     1!!1     1!!1     1!!1     1!!1     1!!1     1!!1
            :1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1:
            :1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1     1  1:
            +-------------------------------------------------------------------------------------------------------+
            1                                                                                                       1
        =================================================================================================================
        \   U       U       U       U       U       U       U       U       U       U       U       U       U       U   /
         ---------------------------------------------------------------------------------------------------------------
            1U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U1
            1  ..  .   . .   . . .   .  .   .  .  .   .  .  . .  . . .  .  . .  . .  . .  . .  .   . .   .  .  .   .1
            1 . . .  .  . . . .    . .    .  .   . .    .  . .   . . .  .  .  . .  .. .  . .  .  .. . . .  . ..  .  1
            1 ..   .    .  .   . .   . .   . .    .    .  .  .    .  .  . . .  .  .  . .  .   . .   .  . .  .  .  . 1
            :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
            ---------------------------------------------------------------------------------------------------------
            -------------------------------------------------   -   -------------------------------------------------
            1                                1  .^.....      `:   :'      .....^.  1                                1
            1                                1  :  .-'   ..---! - !---..   `-.  :  1                                1
            1  +-------------------------+   1 .  :   .-'     !   !     `-.   :  . 1   +-------------------------+  1
            1  1 ----------------------- 1   1 . .  .'    .----`-'----.    `.  . . 1   1 ----------------------- 1  1
            1  1 ..   .  .  .   .  .  .  1   1 .. .'   .-'             `-.   `. .. 1   1 .  .  .   .  .  . . ..  1  1
            1  1  . .  . .  .  .   . . . 1   1   :   .'                   `.   :   1   1 . . .. .  .  . .  .     1  1
            1  1 .  . ..  .  .   .    .  1   1  :   '                       `   :  1   1  . .  .  . . .     . .  1  1
            1  1  .      . . . .   . ... 1   1 :   '                         `   : 1   1 .. . . .       . .  .   1  1
            1  1 .  . .      .  . . . .. 1   1.' .'                           `. `.1   1 ..  .   .   .    .  .   1  1
            1  1 ======================= 1    :  '                             `  :    1 ======================= 1  1
            1  +-------------------------+    ' :                               : `    +-------------------------+  1
            1                                !  !                               !  !                                1
            1                                1  1                               1  1                                1
          =========================================                           =========================================
            1                                1  1                               1  1                                1
            1-----------------------------------1                               1-----------------------------------1
            1                                1  1                               1  1                                1
            1                                1  1                               1  1         -.     .' `            1
            1                 ^              1  1                               1  1        ` . . -' : :            1
            1               '                1  1                               1  1         :         ```-..       1
            1        .   . . ^ .````         1  1                               1  1      ---:      O  ```````.     1
            1         .   ..    `````        1  1                               1  1        ``  ``     '`````'      1
            1         . ``   .   '   .       1  1                               1  1         ``             :       1
            1           .  .      . .        1  1                               1  1        :      `    `    >      1
            1        `'   .    `.   :        1  1                               1  1        .  ' '   :`.   :        1
            1         .     '   ..  '        1  1                               1  1                 ---`           1
            1        ' . ' `       ..        1  1                               1  1        `.  .  `.  ,  ..        1
            1         '       ``  -  .       1  1                               1  1        ` `          ..         1
            1        ` '  ^        :'        1  1                               1  1      ` .' .`          `        1
            1        ..  .   ` .   :         1  1                               1  1       `        '  :.  .        1
            1         .  ``. . ``   O        1  1                               1  1        `   -.   . `.           1
            1         `   ::   !    :        1  1                               1  1           .    ' `.  ``        1
            1          :  !!   !  .'         1  1                               1  1           .`.  :  : .'         1
            1          ------------          1  1                               1  1          ------------          1
            1         /            \         1  1                               1  1         /            \         1
            1        ================        1  1                               1  1        ================        1
           ===========1            1==========  1                               1  ==========1            1===========
            1         1            1         1  1                               1  1         1            1         1
            1         1            1         1  1                               1  1         1            1         1
            1         1            1         1  1                               1  1         1            1         1
            1         1            1         1  1                               1  1         1            1         1
            1         1            1         1  1                               1  1         1            1         1
           /---------/--------------\--------\---\                             /---/--------/--------------\---------\
           1         1              1         1  1                             1  1         1              1         1
           1         1              1         1  1                             1  1         1              1         1
           -----------------------------------------------------------------------------------------------------------
           NN     NN   OOOOOOO   TTTTTTTTTT  RRRRRRR    EEEEEEEEE             DDDDDDD        A      MM     MM  EEEEEEEEE
           NNN    NN  OOOOOOOOO  TTTTTTTTTT  RRRRRRRR   EEEEEEEEE             DDDDDDDD      A A     MMM   MMM  EEEEEEEEE
           NNNN   NN  OO     OO      TT      RR     RR  EE                    DD    DDD    AA AA    MMMM MMMM  EE
           NN NN  NN  OO     OO      TT      RR     RR  EE         ---------  DD     DD   AA   AA   MM MMM MM  EE
           NN  NN NN  OO     OO      TT      RRRRRRRR   EEEEEEEE   ---------  DD     DD   AAAAAAA   MM  M  MM  EEEEEEEE
           NN   NNNN  OO     OO      TT      RR  RR     EE         ---------  DD     DD  AA     AA  MM     MM  EE
           NN    NNN  OO     OO      TT      RR   RR    EE                    DD    DDD  AA     AA  MM     MM  EE
           NN     NN  OOOOOOOOO      TT      RR    RR   EEEEEEEEE             DDDDDDDD   AA     AA  MM     MM  EEEEEEEEE
           NN     NN   OOOOOOO       TT      RR     RR  EEEEEEEEE             DDDDDDD    AA     AA  MM     MM  EEEEEEEEE

                      1                                                                                    1
                     / \                                                                                  / \
                    /   \                                                                                /   \
                    1==*1                                                                                1===1
                 .------------------------------.                                .------------------------------.
                ' " "!""""^""""""""""""^""""!" ".`                              '." "!""""^""""""""""""^""""!" " `
               `1   .!    U            U    !    1                              1    !    U            U    !.   1
                `===============================-.                              .-==============================='
                :... !5555555555555555555555!   ^ =                            = ^   !5555555555555555555555! ...:
               ''.  `-------O---------O--------   !                            !   --------O---------O-------'  .``
               :    ^ $   ^ . ^     ^ . ^     ^   +==                        ==+   ^     ^ . ^     ^ . ^   $ ^    :
               /.:"/ \  ^ .' `. ^ ^ .' `. ^  / \"$                              $"/ \  ^ .' `. ^ ^ .' `. ^  / \":.\
               :/  1^1 ^ .  X  . ^ .  X  . ^ 1^1"""$                          $"""1^1 ^ .  X  . ^ .  X  . ^ 1^1  \:
              <$   : :  .  XXX  . .  XXX  .  : :`^"P                          9"^': :  .  XXX  . .  XXX  .  : :   $>
               !   : :  . XXXXX . . XXXXX .  : : .  >                        <  . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !                          ! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !                          ! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !                          ! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !             1            ! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !$           -+-          $! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !1            1           1! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !1            1           1! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !+>           O          <+! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !:            1           :! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !:            1           :! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !:           ' `          :! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !:           1 1          :! . : :  . XXXXX . . XXXXX .  : :   !
               !   : :  . XXXXX . . XXXXX .  : : . !:           1 1          :! . : :  . XXXXX . . XXXXX .  : :   !
               \`  : :  . XXXXX . . XXXXX .- : : . !:           1 1          :! . : : -. xxxxx . . XXXXX .  : :  '/
               .\\ : :  . XXXXX . . XXXXX .\\: : > !:           1 1          :! . : ://. XXXXX . . XXXXX .  : : //.
               1\====== . XXXXX . . XXXXX . ====== !:           1 1          :! ====== . XXXXX . . XXXXX . ======/1
           `1---`` V  1--------------------``    1------------------------------1    ''--------------------1  V ''---1'
           `1 V /======\ V V V V V V V V V /======\  V V V V V V V V V V V V V /======\ V V V V V V V V V /======\ V 1'
           <1== \      /===================\      /============================\      /===================\      / ==1>
            1    1 /\ 1\/ \/ \/ \/ \/ \/ \/-1 /\ 1  1\/ \/ \/ \/ \/ \/ \/ \/-1  1 /\ 1\/ \/ \/ \/ \/ \/ \/-1 /\ 1    1
            1    1/  \1/\ /\ /\ /\ /\ /\ /\\1/  \1-\1/\ /\ /\ /\ /\ /\ /\ /\\1/-1/  \1/\ /\ /\ /\ /\ /\ /\\1/  \1    1
            1    W-++-W  V  V  V  V  V  V   W-++-W-\W  V  V  V  VA V  V  V   W/-W-++-W  V  V  V  V  V  V   W-++-W    1
           <1    I 11 I  1  1  1- 1  1  1   I 11 I  I  1  1  1 A XA1  1  1   I  I 11 I  1  1  1  1 -1  1   I 11 I    1>
            1`   I 11 I- 1  1 -1  1  1 -1   I 11 I- I  1  1  1AX XX   1  1   I- I 11 I- 1  1- 1  1  1  1-  I 11 I   '1
            1    I 11 I  1  1  1 -1 -1  1 - I 11 I  I  1  1   XX XX A 1  1   I -I 11 I  1- 1  1  1  1  1   I 11 I    1
            1    I 11 I  1- 1  1  1  1- 1   I 11 I  I  1  1 A XX XX XA1  1   I  I 11 I  1  1  1 -1  1 -1   I 11 I    1
            1    I 11 I  1  1- 1  1. 1. 1   I 11 I- I  1  1AX XX XX XX   1   I- I 11 I -1 .1 .1  1  1  1   I 11 I    1
            1    I 11 I  1  1  1  1. 1. 1-  I 11 I  I  1   XX XX XX XX A 1   I  I 11 I  1 .1 .1  1  1  1 - I 11 I    1
            1    I 11 I -1  1  1- 1. 1. 1   I 11 I  I  1 A XX XX XX XX XA1   I  I 11 I  1 .1 .1  1- 1- 1   I 11 I    1
            '   /  11  \ 1  1  1  1  1  1  /  11  \ I  1AX XX XX XX XX XX1.  I /  11  \ 1  1  1  1  1  1  /  11  \   `
           <====\ ^^^^ /===================\ ^^^^ /============================\ ^^^^ /===================\ ^^^^ /====>
            `^^^ 1    1 ^^^^^^^^^^^^^^^^^^^ 1    1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1    1 ^^^^^^^^^^^^^^^^^^^ 1    1 ^^^'
            1    1    1                     1    1/`*'\    ..--------..    /`*'\1    1                     1    1    1
            1    1    1/`*'\           /`*'\1    1`-^-' .-'  ........  `-. `-^-'1    1/`*'\           /`*'\1    1  - 1
            1  - 1    1`-^-'   .---.   `-^-'1    1 \-/.'  .''        ``.  `.\-/ 1    1`-^-'   .---.   `-^-'1    1    1
            1    1    1 \-/ .-'     `-. \-/ 1    1  .'  .'.--PXXXXXX9--.`.  `.  1    1 \-/ .-'     `-. \-/ 1    1    1
            /    1----1   .'    ---    `.   1----1 .  .'./  \  1  1  /  1.`.  . 1----1   .'    ---    `.   1----1 -  \
           1   - 1    1  /    .: 1 :.    \  1    1'  . /  \  \ 1  1 /  /  \ .  `1    1  /    .: 1 :.    \  1    1     1
           1 -   1    1 /     1 :O: 1     \ 1    1  . A`.  \ ---`'--- /  .'A .  1    1 /     1 :O: 1     \ 1    1     1
           1     1    1/      `: 1 :'      \1    1 . A   `../. \  / .\..'   A . 1    1/      `: 1 :'      \1    1   - 1
           1     1 () :  .-'`-. --- .-'`-.  : () 1 ./---...1  \ \/ /  1...---\. 1 () :  .-'`-. --- .-'`-.  1 () 1     1
         $ 1  -  1 /\ 1 / .'`. \   / .'`. \ 1 /\ 1 .X     /`--..--..--'\     X. 1 /\ 1 / .'`. \   / .'`. \ 1 /\ 1     1 $
         1-1     1/  \1/ .'  `. \ / .'  `. \1/  \1--X----<     1  1     >----X--1/  \1/ .'  `. \ / .'  `. \1/  \1  -  1-1
         1 1 -   /----\1 1    1-+-+-1    1 1/----\11X   ..\.--'`--'`--./..   X11/----\1 1    1-+-+-1    1 1/----\     1 1
         --------1    11 1    1 1P1 1    1 11    111\---   1  / /\ \  1   ---/111    11 1    1 191 1    1 11    1--------
         1       1    11 1    1 1 1 1    1 11    111 V  .-' \' /  \ `/ `-.  V 111    11 1    1 1 1 1    1 11    1       1
         1       1    11 1    1 1!1 1    1 11    1    V' .-  ---..---  -. `V    1    11 1    1 1!1 1    1 11    1       1
         1 -     1    11 1    1 1A1 1    1 11    1     \'   /  /  \  \   `/     1    11 1    1 1A1 1    1 11    1  -    1
         1       ------------------------------------------------------------------------------------------------       1
         1       1! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !1       1
         1   -   1! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !1     - 1
         1      /                                                                                                \      1
         1     ----------------------------------------------------------------------------------------------------     1
         1       1/'`\1/'`\1/'`\1X1/'`\1/'`\1/'`\1/'`\1/'`\1/'`\11/'`\1/'`\1/'`\1/'`\1/'`\1/'`\1X1/'`\1/'`\1/'`\1       1
         1       -X()X-X()X1X()X1X1X()X1X()X-X()X-X()X1X()X1X()X11X()X1X()X1X()X-X()X-X()X1X()X1X1X()X1X()X-X()X-       1
         1 -     1X'`X1X'`X1X'`X1X1X'`X1X'`X1X'`X1X'`X1X'`X1X'`X11X'`X1X'`X1X'`X1X'`X1X'`X1X'`X1X1X'`X1X'`X1X'`X1 -     1
         1       1X  X1X  X1X  X1X1X  X1X  X1X  X1X  X1X  X1X  X11X  X1X  X1X  X1X  X1X  X1X  X1X1X  X1X  X1X  X1       1
         1       AX  XAX  X1X  X1X1X  X1X  XAX  XAX  X1X  X1X  X11X  X1X  X1X  XAX  XAX  X1X  X1X1X  X1X  XAX  XA       1
         1       ------------------------------------------------------------------------------------------------    -  1
         1    -  1    1        .---.        1    1            .----.            1    1        .---.        1    1       1
         1       1    1      .-.:::.-.      1    1         .-'.::::.`-.         1    1      .-.:::.-.      1    1       1
         1 -     1    1    .''':::::```.    1    1       -''::::::::::``-       1    1    .''':::::```.    1    1  -    1
         1       1    1   /'''':' `:````\   1    1     .'''''''::::```````.     1    1   /'''':' `:````\   1    1       1
         1       1    1  /'''''     `````\  1    1    /'''''''      ```````\    1    1  /'''''     `````\  1    1       1
         1       1 `' 1 :'''''       `````: 1 `' 1   /''''''          ``````\   1 `' 1 :'''''       `````: 1 `' 1       1
         1  -    1----1 1''''         ````1 1----1  /''''''            ``````\  1----1 1''''         ````1 1----1    -  1
         1       1'()`1:::::   .   .   :::::1'()`1 /''''''     .  .     ``````\ 1'()`1:::::   .   .   :::::1'()`1       1
         1       1X'`X11:::             :::11X'`X1:''''''                ``````:1X'`X11:::             :::11X'`X1       1
         1 -     1X  X11:::             :::11X  X11:''''                  ````:11X  X11:::             :::11X  X1     - 1
         1       1X  X11:::   . . . .   :::11X  X11:::::  .     ..     .  :::::11X  X11:::   . . . .   :::11X  X1       1
         1     - 1+--+11:::      :      :::11+--+11:::::                  :::::11+--+11:::      :      :::11+--+1       1
         1       1    1---- ##### ##### ----1    1------   #####  #####   ------1    1---- ##### ##### ----1    1       1
         1   -   1    1:::: ##### ##### ::::1    1:::::    #####  #####    :::::1    1:::: ##### ##### ::::1    1  -    1
         1       1    1:::: ##### ##### ::::1    1:::::    #####  #####    :::::1    1:::: ##### ##### ::::1    1       1
         1       1    1:::: ##### ##### ::::1    1:::::    #####  #####    :::::1    1:::: ##### ##### ::::1    1       1
         1       1    1:::: ##### ##### ::::1    1:::::    #####  #####    :::::1    1:::: ##### ##### ::::1    1       1
         1       /\   1---- ##### ##### ----1    1-----    #####  #####    -----1    1---- ##### ##### ----1   /\       1
         1 -     11   1   1 ##### ##### 1   1    1    1    #####  #####    1    1    1   1 ##### ##### 1   1   11     - 1
         1       11   1   1 ##### ##### 1   1    1    1    #####  #####    1    1    1   1 ##### ##### 1   1   11       1
         1       11   1   1 ##### ##### 1   1    1    1    #####  #####    1    1    1   1 ##### ##### 1   1   11       1
       --------------------------------------------------------------------------------------------------------------------
                                                     LL         EEEEEEEEE
                                                     LL         EEEEEEEEE
                                                     LL         EE
                                                     LL         EE
                                                     LL         EEEEEEEE
                                                     LL         EE
                                                     LL         EE
                                                     LLLLLLLLL  EEEEEEEEE
                                                     LLLLLLLLL  EEEEEEEEE

     SSSSSSSS      A       CCCCCCCC  RRRRRRR    EEEEEEEEE              CCCCCCCC   OOOOOOO   EEEEEEEEE  UU     UU  RRRRRRR
    SSSSSSSSS     A A     CCCCCCCCC  RRRRRRRR   EEEEEEEEE             CCCCCCCCC  OOOOOOOOO  EEEEEEEEE  UU     UU  RRRRRRRR
    SS           AA AA    CC         RR     RR  EE                    CC         OO     OO  EE         UU     UU  RR     RR
    SSS         AA   AA   CC         RR     RR  EE         ---------  CC         OO     OO  EE         UU     UU  RR     RR
     SSSSSSS    AAAAAAA   CC         RRRRRRRR   EEEEEEEE   ---------  CC         OO     OO  EEEEEEEE   UU     UU  RRRRRRRR
          SSS  AA     AA  CC         RR  RR     EE         ---------  CC         OO     OO  EE         UU     UU  RR  RR
           SS  AA     AA  CC         RR   RR    EE                    CC         OO     OO  EE         UU     UU  RR   RRR
    SSSSSSSSS  AA     AA  CCCCCCCCC  RR    RR   EEEEEEEEE             CCCCCCCCC  OOOOOOOOO  EEEEEEEEE  UUUUUUUUU  RR    RR
    SSSSSSSS   AA     AA   CCCCCCCC  RR     RR  EEEEEEEEE              CCCCCCCC   OOOOOOO   EEEEEEEEE   UUUUUUU   RR     RR

                                                               !
                                                              * *
                                                             *   *
                                                            *     *
                                                            =======
                                                            *     *
                                                            * 111 *
                                                            *     *
                                                            * -O- *
                                                            =======
                                                            *     *
                                                            *     *
                                                           *       *
                                                         **         **
                                                       **             **
                                                     **                 **
                                                   **                     **
                                                  *                         *
                                                 *                           *
                                                *                             *
                                               *                               *
                                               *                               *
                                              *                                 *
                                              *                                 *
                                              *                                 *
                                   !         *                                   *         !
                                  * *        *         -----------------         *        * *
                                 *   *       *   ------ 111   111   111 ------   *       *   *
                                 =====     <-----  111                   111  ----->     =====
                                 *   *     *  111                             111  *     *   *
                                 *!!!*     *W          -----------------          W*     *!!!*
                                 *!!!*     *     ------^^^^^^^^^^^^^^^^^------     *     *!!!*
                                 =====     ------^^^^^^                 ^^^^^^------     =====
                                 *   *   / ^^^^^^                             ^^^^^^ \   *   *
                                *     *  \                   .,-,.                .  /  *     *
                              **       **          ^X^  ^X^./     \.^X^  ^X^          **       **
                            **           ** $ ^X^  XXX  XX/  .---.  \XX  XXX  ^X^ $ **           **
                           *               / \JXX  XXX  XX1 /X2X2X\ 1XX  XXX  XXE/ \               *
                          *               /   \XX  XXX  XX1 1YIOIX1 1XX  XXX  XX/   \               *
                          *              1     1X  XXX  /M1#1/   \1#1M\  XXX  X1     1              *
                         *               =======X     /M  1 1!   !1 1  M\     X=======               *
                         *               1     1    /M    1 1!   !1 1    M\    1     1               *
                         *               1! I !1  /M      1 1Y   Y1 1      M\  1! I !1               *
                         *      -------  1! I !1/M        1 1Y   Y1 1        M\1! I !1  -------      *
                         *  ---- ^^^^^ --1     1          ===C! !Y===          1     1-- ^^^^^ ----  *
                        <---^^^         ^1     1          / 1-----1 \          1     1^         ^^^--->
                         ^^^     XX XX   =======----------===========----------=======   XX XX     ^^^
                         !  X X  XX XX  X1     1^^^^^^^^^1           1^^^^^^^^^1     1X  XX XX  X X  !
                --       !  X X  XX XX  X1  X  1   ====   1  .---.  1   ====   1  X  1X  XX XX  X X  !       --
                11-11-11* * X X         X1  X  1 //YYYY\\ 1 / ^X^ \ 1 //YYYY\\ 1  X  1X         X X * *11-11-11
                1      *   *             1     1 U1   O1U 1 1 XXX 1 1 U1O   1U 1     1             *   *      1
                ======#=====    =======  =======T== . .====== XXX ======. . ==T=======  =======    =====#======
                1     #1^  1====       ==1     1  #    #  1#  XXX  #1  #    #  1     1==       ====1  ^1#     1
                1  X   / \ 1             1  @  1  1----1  1.  XXX  .1  1----1  1  @  1             1 / \   X  1
                1  X  =====1   ..---..   1 <X\ 1  1 XX 1  1.  XXX  .1  1 XX 1  1 /X> 1   ..---..   1=====  X  1
                /     1   11  /  ^ ^  \  1<XXX 1  1 XX 1  1.  XXX  .1  1 XX 1  1 XXX>1  /  ^ ^  \  11   1     \
               =======1   11 /  <XXX>  \ 1 \X/ 1  1 XX 1  1..     ..1  1 XX 1  1 \X/ 1 /  <XXX>  \ 11   1=======
               1   .  1 ===1 1  <XXX>  1 1 I I 1  1 XX 1 .1..     ..1. 1 XX 1  1 I I 1 1  <XXX>  1 1=== 1  .   1
               1 .   .1  .11 1   V V   1 ===== 1  1 XX 1 ...   #   ... 1 XX 1  1 ===== 1   V V   1 11.  1.   . 1
               1.     1------------------#   #-----------------------------------#   #------------------1     .1
               1.     1       @          1   1                                   1   1          @       1     .1
               1.     1======XXX=========1   1^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1   1=========XXX======1     .1
             ---. --  1     1\X/    ....11   1                                   1   11....    \X/      1  -- .---
             1======= 1     1=I=======..11   1                                   1   11..=======I=1     1 =======1
             /  .    .1 === 1 I        .11===1   ..---..    ..---..    ..---..   1===11.        I 1 === 1.    .  \
            =====    .11    1 I  XX     11   1  /XXXXXXX\  /XXXXXXX\  /XXXXXXX\  1   11     XX  I 1    11.    =====
            1   .    .11    1 I  XX     11   1  1XXXXXXX1  1XXXXXXX1  1XXXXXXX1  1   11     XX  I 1    11.    .   1
            1   .    .11    1 IX XX X   11   1  1XXXXXXX1  1XXXXXXX1  1XXXXXXX1  1   11   X XX XI 1    11.    .   1
            1   .    .11    1 IX XX X   11   -------=======================-------   11   X XX XI 1    11.    .   1
            1   .    .11    1 IX X===========       1111111 1111111 1111111       ===========X XI 1    11.    .   1
    -----=======-------===========1111 111111                                     111111 1111===========-------=======-----
         1111111       1111111 111           -------------------------------------           111 1111111       1111111
                                  -----------,,,,,,,,,,,,,,,,,,^,,,,,,,,,,,,,,,,,,-----------
    ------------------------------,,,,,,,,,,,1     1          ! !          1     1,,,,,,,,,,,------------------------------
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,           =======          ! !          =======           ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
                1     1                      1     1                       1     1                      1     1
                =======       .---X---.      1     1       .---X---.       1     1      .---X---.       =======
                1     1      /XXXXXXXXX\     1     1      /XXXXXXXXX\      1     1     /XXXXXXXXX\      1     1
                1     1     /XXXXXXXXXXX\    1     1     /XXXXXXXXXXX\     1     1    /XXXXXXXXXXX\     1     1
                1     1    1XXXXXXXXXXXXX1   1     1    1XXXXXXXXXXXXX1    1     1   1XXXXXXXXXXXXX1    1     1
                1     1    1XXXXXXXXXXXXX1   1     1    1XXXXXXXXXXXXX1    1     1   1XXXXXXXXXXXXX1    1     1
    -----------------------------------------------------------------------------------------------------------------------

                                               LL             A
                                               LL            A A
                                               LL           AA AA
                                               LL          AA   AA
                                               LL          AAAAAAA
                                               LL         AA     AA
                                               LL         AA     AA
                                               LLLLLLLLL  AA     AA
                                               LLLLLLLLL  AA     AA
TTTTTTTTTT   OOOOOOO   UU     UU  RRRRRRR              EEEEEEEEE  IIIIIIIIII  FFFFFFFFF  FFFFFFFFF  EEEEEEEEE  LL
TTTTTTTT  OOOOOOOOO  UU     UU  RRRRRRRR             EEEEEEEEE  IIIIIIIIII  FFFFFFFFF  FFFFFFFFF  EEEEEEEEE  LL
  TT      OO     OO  UU     UU  RR     RR            EE             II      FF         FF         EE         LL
  TT      OO     OO  UU     UU  RR     RR            EE             II      FF         FF         EE         LL
  TT      OO     OO  UU     UU  RRRRRRRR             EEEEEEEE       II      FFFFFFFF   FFFFFFFF   EEEEEEEE   LL
  TT      OO     OO  UU     UU  RR  RR               EE             II      FF         FF         EE         LL
  TT      OO     OO  UU     UU  RR   RR              EE             II      FF         FF         EE         LL
  TT      OOOOOOOOO  UUUUUUUUU  RR    RR             EEEEEEEEE  IIIIIIIIII  FF         FF         EEEEEEEEE  LLLLLLLLL
  TT       OOOOOOO    UUUUUUU   RR     RR            EEEEEEEEE  IIIIIIIIII  FF         FF         EEEEEEEEE  LLLLLLLLL
                                                          .
                                                         1
                                                         1
                                                         1
                                                         M
                                                         M
                                                         M
                                                         M
                                                        \M/
                                                     . ' M ` .
                                                   \##-#####-##/
                                                    \# ##### #/
                                                  ###############
                                                  ###############
                                                   \ ! ! ! ! ! /
                                                    )! ! ! ! !(
                                                    +---------+
                                                    +! ! ! ! !+
                                                    +----*----+
                                                   +`. .':`. .'+
                                                   + .^. : .^. +
                                                   +:...:*:...:+
                                                   +`. .':`. .'+
                                                   + .^. : .^. +
                                                   +:...:*:...:+
                                                   +`. .':`. .'+
                                                   +. ^. : .^ .+
                                                  +:....:*:....:+
                                                  +` .  ':`  . '+
                                                  +  .^. : .^.  +
                                                  +:....:*:....:+
                                                  +` .. ':` .. '+
                                                  +. '` .:. '` .+
                                                  +:....:*:....:+
                                                  + `. .':`. .' +
                                                  +   X  :  X   +
                                                  +.'  `.:.'  `.+
                                                 +:......*......:+
                                                 +`.   .':`.   .'+
                                                 +   X   :   X   +
                                                 + .' `. : .' `. +
                                                 +.......*.......+
                                                 +` . . ':` . . '+
                                                 +   X   :   X   +
                                                 + '   ` : '   ` +
                                                 +../########....+
                                                 +`/#########\ .'+
                                                +  ############   +
                                                + '############`  +
                                                +:.......*.......:+
                                                + ` .  ' : `  . ' +
                                                +    X   :   X    +
                                                + .'   `.:.'   `. +
                                                +:.......*.......:+
                                                +`      ':`      '+
                                               +  `   '  :  `   '  +
                                               +    X   : :   X    +
                                               +  '   ` : : '   `  +
                                               +:.......*.*.......:+
                                               +`      ': :`      '+
                                               + `   '  : :  `   ' +
                                               +   X   : X :   X   +
                                              +  '   ` :' `: '   `  +
                                              +:.......*...*.......:+
                                              +`      ':` ':`      '+
                                              + `   '  : X :  `   ' +
                                              +   X   :     :   X   +
                                              + '   ` :/   \: '   ` +
                                             +:.......*.....*.......:+
                                             +`      ':`   ':`      '+
                                             + `   '  : `.' :  `   ' +
                                            +    X   :  ' `  :   X    +
                                            +  '   ` :'     `: '   `  +
                                            +:.......*.......*.......:+
                                           + `      ':`     ':`      ' +
                                           +  ` . '  :  `.'  :  ` . '  +
                                          +    ' `  :   ' `   :  ' `    +
                                          +. '    ` : '     ` : '    ` .+
                                         +..........*.........*..........+
                                         +  ###########################  +
                                         +  ###########################  +
                                        +   ###########################   +
                                     #########################################
                                    ###########################################
                                     \   1   1   1   1   1   1   1   1   1   /
                                      )  1   1   1   1   1   1   1   1   1  (
                                      +-----:-----+-------------+-----:-----+
                                      +     :     +             +     :     +
                                     *------*-----*-------------*-----*------*
                                     +XXXXXXXXXXX+XXXXXXXXXXXXXXX+XXXXXXXXXXX+
                                     *-----*-----*---------------*-----*-----*
                                    + `.   :  . '+               +` .  :   .' +
                                    +    . : '   +               +   ` : .    +
                                   +    . *.    +                 +    .* .    +
                                   + . '  : `.  +                 +  .' :  ` . +
                                  *:......*....:*                 *:....*......:*
                                  + `.   :   . '+                 +` .   :   .' +
                                 +     `.:. '  +                   +  ` .:.'     +
                                 +   . '* `.   +                   +   .' *` .   +
                                + . '   :    `.+                   +.'    :   ` . +
                                *:.....*.......*                   *.......*.....:*
                               +  ` .. :  .. ' +                   + ` ..  : .. '  +
                               +     . *'     +                     +     `* .     +
                              +  .. ' :   ` . +                     + . '   : ` ..  +
                              *.:....*.......:*                     *:.......*....:.*
                             +   ` ..: . - '  +                     +  ` - . :.. '   +
                             +    .. * ..    +                       +    .. * ..    +
                        -------------------------------------------------------------------
                          1 +:       :      +:       :       :       :+      :       :+ 1
                          1+ :       :      +:       :       :       :+      :       : +1
                        ###################################################################
                         1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
                         1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
                         +---------------------------------------------------------------+
                        +! . ! . ! . ! . !+. ! . ! . ! . ! . ! . ! . ! .+! . ! . ! . ! . !+
                       +:!: :!: :!: :!: :!+ :!: :!: :!: :!: :!: :!: :!: +!: :!: :!: :!: :!:+
                       +.!.:.!.:.!.:.!.:.!+:.!.:.!.:.!.:.!.:.!.:.!.:.!.:+!.:.!.:.!.:.!.:.!.+
                      +XXXXXXXXXXXXXXXXXX+\     \  ..-#######-..  /     /+XXXXXXXXXXXXXXXXXX+
                     *-------------------* \    .-' \  1 1 1  / `-.    / *-------------------*
                     +  ` .    : ..  '  +   \.-' \   .-------.   / `-./   +  `  .. :    . '  +
                    +.......:.*:........+ .-' \  .-''         ``-.  / `-. +........:*.:.......+
                   +    .  '  : ` .    +\:  \  -'                 `-  /  :/+    . ' :  `  .    +
                   +..:.......:.....:..+/ \ .-'                     `-. / \+..:.....:.......:..+
                  +    ` .   :    .  ' + \.'                           `./ + `  .    :   . '    +
                 +.........:.*..:.....+  /                               \  +.....:..*.:.........+
                +     .  '  :   ` .   + /                                 \ +   . '   :  `  .     +
                +...:......:........:+ /                                   \ +:........:..........+
               +    `  .  :  .  '    +/                                     \+    `  .  :  .  '    +
              +...........*.........+                                         +.........*...........+
             +     .  '  :   `  .   +                                         +   .  '   :  `  .     +
            +...:.......:.........:+                                           +:.........:.......:...+
           +    `  .    :   .   '  +                                           +  `   .   :    .  '    +
          +..........:.*.:........+                                             +........:.*.:..........+
         +     .   '  :   `  .    +                                             +    .  '   :  `   .     +
        +...:.........:.........:+                                               +:.........:.........:...+
       +   `   .     :     .   ' +                                               + `   .     :     .   '   +
      +...........:.*..:........+                                                 +........:..*.:...........+
     +      .   '  :   `  .     +                                                 +     .  '   :  `   .      +
    +...:.........:..........:.+                                                   +.:..........:.........:...+
   +     `  .     :      .  ' +                                                     + `  .      :     .  '     +
  +            ` *  - '      +                                                       +      ` -  * '            +
 -----------------------------------------------------------------------------------------------------------------