.
                 8
                8
               8'
              88
              88
              88
              88
             ,8P                                                                                                                               ...
             d8                                                                                                                              .'.' :
       .     88                            .                                                     :                 .                        .'  '''
     '.:.'   88                          '.:.'                                                   '               '.:.'                     .'
             88                                                                        ,d88888888b.       .8                              .'                d@@b.
            ,8P                                                                        8'        `Y88888888P                             .'                d@P'
   ,8888b   88                                                 ,d               ,d                                                      .'                d@P'
  ,88   "   88,od88b.     ,d88b.  ,d88b.  ,d88b.,od88888888888888,od88888888888888.od88b.    ,d88b.  ,d88b.od88b.    ,d88b.  ,od8888888888888bo.          d@P'
 ,88       ,88    `88b  ,d8  `8b,d8  `8b,d8  `8b  ,8P'  ,8P'  ,88  ,8P'  ,8P'  ,88     88  ,d8  `8b,d8  `8b    88  ,d8  `8b,'      ,dP'                  d@P'
 :88      ,d88     888,d8'    888'    888'    88 ,88   ,88   d888 ,88   ,88   d888     88,d8'    888'    88    88,d8'    88      ,dP'                    d@P
 `88     ,d888     888'       88      88     ,8P 88   d88   dP'88 88   d88   dP'88     88'       88      88    88'       88     ,dP'                   d@@P' d@@b.
  `88  ,d8P 88    ,888    ,  88'  ,  88'    ,8P  `88 dP`88 dP' 88 `88 dP`88 dP' 88     88        88      88    88    ,  88'    ,dP'      .        .d@@@@P'  d@P'
   `Y8888P',88  ,d8P'     `Y88    `Y88     ,8P    `Y8P' `Y8P' ,88  `Y8P' `Y8P' ,88    ,88oooooooo88oooooo88P' ,88    `Y88      88         'b               d@P'
           88'                            d8,d88b.            88'              88'    88'                     88'              88         ,8'   .d@@@@@b d@P'
           88                            d8d8  `8b            88               88     88                      88               `Yb.     ,dP'          Y@@@P
           88                           88'    ,88            88               88     88                      88                 `Y88888P'
           88                                 ,88'            88               88     88                      88
          ,8P                                ,8P'            ,8P              ,8P    ,8P                     ,8P
          d8                                ,d8'             d8               d8     d8                      d8
          88                               ,d8'              88               88     88                      88
          88                              ,d8'               88               88     88                      88
         ,8                              ,8'                ,8               ,8     ,8                      ,8
         8                              ,8'                 8                8      8                       8
        8                              ,8'                 8                8      8                       8
       "                               "                  "                "      "                       "