.=***+.
                      -*#####*.
                     -########=                                            ...
                    -#########*.                                          *###*
                   -####*-#####=                                         :####*
                  =*###*: *####*              .::.            ::::.      -####+:::::.             .:::-::.           .::::::.    .::-::.                  ..::---:..          .:::::.             .::::.
                 +####*:  -#####-             +###*.         -#####.     +###########.       .-+*##########+-.      -#######*:+*#########*=.         .-+*###########*+-      :#######-           :####*.
                =+++++.    *####*             *####.         +####*     .#####******+      :+*#####*****######*:    =***#########****######*-       :#######****#######+     :***#####:         :*###*.
                            *####-           =####*          *####=     +####*           :*#####+:.     .=*####*:      =#####*=:.     :*#####-       =**-:.      .=#####=        *####+        :*###*.
                            =####*           *####+         :#####-    .#####=          :*####*:          :*####*      +####*.          *####*                     *####+        =#####.      -*###*:
   -------------------------=#####:         .#####-         -#####.    :#####:          *####*.            =#####.    .*###*.            *####.          ..::------*####=        .#####=     =####*:
  +###############################+         -#####.         +####*     =#####          :#####-             =#####.    +####=             *####.     .-+*################-         +####*    -####*:
 =+++++++++++++++++++++++++++*#####.        +####*         .#####=     *####+          -#####:             +####*    .#####-            -####*    .+#####*++======*#####.         .#####-  -####*:
                              +####=        *####=         +#####:    .#####=          -#####-            -#####=    :#####-           :#####=   .*####=.         *####*           +####* :#####-
                              :####*.      .#####=       .+######     :#####-          .*####*.          =*####+     =#####*.         -*####+    *####*         .=#####=           :#####=*####=
        ::::::                 *####*:::.   *#####=....:+*######*..   :#####+...:-=.    :*####*=:.  ..:=*####*=      *######*=:.  .:=*#####+     *####*=.   .:-+#######-.           +########*:
       -#####=                 :########+   :*############**#######-   +###########*:    .=*###############+:       .#####*##############+:      .*#############*+#######*          :#######*.
      -#####=                   *######*-     :=*######*+- =*#####*:    .=*######*+:        :=*########*+-.         -#####.:+*######**=:           -+*######**=: .*######+           :*####*.
                                                  .::.                      .::.                ..::..              +####*    ..::..                  .:::..                         .*###*.
                                                                                                                    *####=                                                          -*###*:
                                                                                                                   .#####:                                                   .     =####*.
                                                                                                                -++*#####                                                  =*##+++*####+.
                                                                                                                *#######*                                                 :*#########*-