888888888888O:    .   ... ..:C.                                                                                     
                                  o88888888888Oo      .  ... .  .....                                                                                 
                              ...:.C88OO888888OO.      .   . .       .:cc.                                                                            
                            .::.....O8OOOOOOOOOOc     . .     .        ...::                                                                          
                          .::..... .:88OOOOOOOOOc                         ...:o                                                                       
                        .:::...      C8OOOOOOOOOC        .                  . .:C                                                                     
                       o::...    .    OOOOOOOOOOC                            . ..c.                                                                   
                     oc:.. . ..  .     OOOOOCOCOC                           .     :o:                                                                 
                    o:....             cOCCocccoC                                  .:o                                                                
                   ::.... .  .          oOCcoooCC:                                 ..:c                                                               
                   :.. .                 OOcCCCocc                            .       .::                          cc..  ..                           
                  c...                   c8:CCCoCc                                   . .o                    .:     .   .... .:                       
                 o..                      OcoCooco                                      .c               ...     ::.. ..:cc                           
                o:..                      cooCCCOOoo                                    .c:             . .. ..c:  :c    :o                           
                o..                     cOCCCCooCCoCc                                   ..c       o@@@@@@@   .C@@@  . :@@@@8      O@@O    C@@@@@@o    
               c:...     .               CoCoCCoCooCo                                     .        c.o@...   o@  O@  :: @o O@    8@  88   .@O         
               c:.                       CCCCoCCoCoCC                                     .o         o@:c . o@c  :8@:::.@Oc.8@  o@    @o    C@:       
               c:                        :oCoCoCoCCoC:                                     c   :     C@    .c@Cc: @@:   @C  @O. o@:  :@o      8@      
               :..                       cCCooc:::co.                                     .      :.: o@:.   .c@C.@O  :: @o @O....C@oc@o   CO   :@o    
               .                        .COCCoocoo:.:cCCo:c.                            .cC    c     :@    ..  O@c   .:@@@@o:     :@@o     O@@@@O:    
               ..                     :OCCC88888OOOO8888Coo:.c                        .oooc  .    .@@@@@@8.  .o@@8   .C@@. O@@    C@@O:   o@@@@@@:    
               ..                    oCC888CocooCCCoocooOOOoc ..                      ....:  c   c.8@ :  c   c@c.O@   o@o@@@O@cccO@cc@O ..:@8...c:....
               c.                   OCO8OocO8.OO888OC8oocooOOc: .                .   ... .8        ::@O   . o@:cc 8@ .C@ :O o@  o@    @C....O@c.......
                c                  oO88CcOOOCC8.....COoooc:oCOoc.                 ..c..:.  o o        O@:   :@:.  @8  o@ cc.C@..C@:...@C.....c@O......
                c.                 CO8CcOO8OOOCc8.OOoCO88Oc:oCo:              ....  ...c       o :.o    @O :::@o.@O..:O@ooooO@:..C@cc@CcooOOoooO@Ooooo
                 .                .c8CcOOC88oocc:o.OoO@.@O:c:cC:c            ..::......o   o       8@@@@@O    :@@8    o@ :c o@ .:.o@@Co...c@@@@@@c....
                  :                :8CcCCCOCoc....c:ccoCCC:::coO:             ...c.c.. .::   :     o@@@@@@@@o  o@@@@@@@@o  o@o .   . . .@@C    @@     
                  ..               CCC:CCCCooOOcccc::8o:::::.coo                 .  ......c    ..  C@o.::..  ..      o@8:  o@C   ... :cc@@@o   @@     
                   c.              c8OocCOcooCcccc::::COoOc::oo.                     .  .   .c   o.o@c    c  o....::@@o....o@o .:: .c:. @oC@o  @@     
                  : .               oCCco..cCccc:::::::Oc..oco:                              .     o@@@@@...  .cc  8@c:cocoo@C:: .::    @o O@. @@     
                o.                   :oooOCc::::::::.:::.Cocc.                                .o o o@ccc ..     .c@@.  cc. o@C .c:      @o  8@.@@     
               c::.                    :ccccc:::.......::::.                                  o    o@: ..  :.cc :@@        o@C:         @o   @@@@     
              oo::.                        ....:::::.::..                                     .  :.C@@@@@@@@o  o@@@@@@@@o  o@@@@@@@@o   @o    @@@     
             c:::...                              ...                                        :         :: .. ::::        .                            
            oo....                                 o..                                      C        ..  ::        ....:         ::                   
     oooooc::::.... .                               :.                                     o                 ..   .    ::.                            
  .cc::..  .:c........                               :.                                   .o               c.    .. .::. cc    .                      
occc::.....cc:.     ...                               :.                                  c                    ...    .:c  ::                         
ccccccccooo:    .  . ..                                :.                                 c                        ..    :c                           
::ccc::..      ..  .....                                                                 :                                                            
:......           .  . ..                                                                .                                                            
.......         .    . ..                                                               :                                                             
......        .  ........                                                             .c                                                              
 ....       ......... ....                                                           :o                                                               
 .................    ....                                                          .O                                                                
 .......... ......  . ..                                                           .C                                                                 
 .. .  ..   ... ....                                                               o                                                                  
       .  ..  .  ..    ..                                                           .                                                                 
         .    . ..   .                                                               :                                                                
        .  . ... ..     .