....  .    .:.   .::   .:.
                             ....:-. .:...  .... ...:......    .......
                         ....     .: ......  :..  ..  .:..            ..
                     ........         :: ....:-.      .             .. ..:
                 .....             ..  -:...:-....     ....     ...:::.. .
              ...       .     ....:-:.::    ..:.........            .  ..
            .:.  .  ....     .:. .: .-+: :..  .....                  .   .
         ..:.  .:. ..           .   .=. -.  .  ::    .      :...          ..
        .-:. .::.        ..    .    :.  .    .  .:    ..     .. ... .     .::
        :.   ..    .   .        ..  .         .  ..     .     ..  ...      .::
       ..    .    .  ..       .     .         .   ..   . ..    .            ..
      .. ...     .  .. .     .      .                   .          .       . .
      . ...         .        ..     .         .    .    .           . .   ....
     . ....     .  .    .   . .    .. .       .    ..   ..      .   ..... . :..
     :....   . .  ..   .    .  .      ..     .      .    .         ...... . .-:
    ....-.  .    ..   ..    .  .      :.     ..     ..   .         ... .... ..-
    ::.-.  ..   .     .     .         :.                   ..       .. ....:. :.
     .::. ..   .      ..    .    .   ....    .             .           .....:..
     :-.....  :.            . ...:.  ...  .  .. ... .     ....        ...:. ...
     -- ...  ::  ..::= +--  +:.-:..    :.   .-. .. .. .........     .  .::...:.
     .- ... .:.. =:+-%.***  +#.=-:. -: .... .:  ...:=-... :.:.=  .. .. .::...-:
      ::... ::  :*:==+=-#=+ :**---: -++.... :: =. :-== :..*:#.#- .- .. ..:.. :.
       - . .:. .-:. -...::::-:++--#:.***    +:=: :- :- +::+:=+-#: +: : ...  ..
       =-=-:: =+   ....     .= ::.-#:-=@-  .=+::-.  .+=-=-.. -::*:.+::  :=:.:
      .=:::=::=:.::.. .  ..        :-::=#...-:=.    .=-... ::   .*-:-- ==-....                             ...........
     ::. +: -+-:.   ..:+*-:             -+.              .:-:.       ::=+:.  :                        ..             .:
    =:. . =.:*   .-*#%@@%#**++++=+*%=.   .  :-*++++**##%%%%##*+=-:: .===. .  :.              .........                .:
   :-  .   ::=.--::..:--=++++++*++*#=.      ..+=+*##**++=:.    .::::=*:*: .  :.             .
   :  .  :*:-=   .:----=-:::....                  .....:-====++.    =+.@% .   :            .
   ....  +@-.:   =*::::##@%@%*-=+-:.           .=*=-*#*%@%=::*=     =--@% .. ..            :
    .:.  :%. .  .:--====++++--+=-+**.          ..----====--:        =::== .  .              .
     :-.. =: : :-==-:..::---=+==+==+-         .    ..::.....::::-:  =: ... ..              .               ......
      ::... ..  .-:          :+*+++*+.                       .:-:.  :. .:.:               ..          ...       ..::.
        :-::: .  ..         -#*+=+**=.                          .. .  :---.               :          .              ..:
         ..*+ :             ++*=++**-                              . ==:                :.          .                  :
           ==.:-             :=+*+**:                .            :**=.    .:.       ...            .
           +-.:#.              :=**=               ..-:.         ..%.     :  .......                .
           ==:-+#                :+*-     .        :  . .       . :=     :                         ..
           .+:++@+              ..:--.   :-....    .  .. .     ...-     :.                         .
            .*#:%@-        .. .- .:.       .:::..   .   .::   ..+-    ...                           :
             -* *@@-      :-...:                   ..:.   .:.::-=.....                              .:
              -:=@@@-      :....:=+=--:..            .:.    ::-..                                  ...
               *-@@@@=      :@@@@@@@@@@@%+%@%@*:        ..:.  .-                                ...
               --@@@@@*.    .#@@@@@@@@@%*=*@@@@@#=:        .::...                              ..
                 %@@@@@@=     ..:=-...**. .-..:::--.    .    -*: ..                            -
                 #@@@@@@@#:    ..     .*-  .            ...... -: ..       ....  ..............:
                 #@@@@@@@@@*:  .: :.   #+.  :        .... ..    :: ..     .
                 %*-@@@@@@@@@#+%@=.:. .#*=  .. . .:..:...........-:.::   :
                -@= +@@@@@@@@@@@-      ++-. .:....   .:-     .    :  :...
                #@.  #@@@@@@@@@@-      .  .==-:   ....:-     ..    : .
               :@+   =@@@@@@@@@@@=:......  :-::...    ::.          .. .
               %#    .@@@@@@@@@@*        .:::.         . .          .  .
              *@:    .@@@@@@@@@@@*:              ..
             -@-      .:--+%@@@@@@@%*=:.                                .
            -@=      :      -%@@@@@@@@@@%#+-        ..                   .
           :%-       ..      -@@@@@@@@@@@@@@%:         .     .            .
                       .      %@@@@@@@@@@@@@@%.         ..                 .
                              -*+====---:-----:.          .                ..
                                               ..                           ..
                                                 ...                         ..