..`                             
                          ix#i                    n*.    +,                                                           ##x                             
                    :     *###                   .##@`  ,##M`              ````````````````````````      .+W.         @#n                             
                   *#z    *##;                   *##*   +##*              .@@@@@@@@@@@@@@@@@@@@@@@W      +##z         @#n                             
                  `W##z   +##,                   W#M    W#M               `#######################W      `W##,  ++++**@#M**+++#                       
                   ,W##z  ###.                  ;##;   ;##ziiiiiiiiii;    `##+,,,,,,,,,,,,,,,,,,n#M       ;##x  @##############                       
                    ,@### z##                   M#M    x#############n    `##*  zn#             z#W        M##, MMMxxx##@xxxMMM                       
                     :### n#@                  i##+   :##WWWWWWWWW@##;    `##*  W#M             z#@        ;n,        @#z                             
                      i*  x#M                 .@##+   M#@.        x#@     .WWi  @#n             ,;;                   @#z                             
                 #zz######@#W###########`     n###+  *###   ..`  .###           ##M+++++++++++#,      `:,,...         @#z                             
                 M######################`    +####+ ,@#@`  ,##*  ###,          `###############i      ,###### ,xxxnnnn##Wnnnnnxxx                     
                 #nnzzzzzx##Mzzzzzzzz@#@    i##x@#+`M##i   ,##i  inx           ,##xzzzzzzzzzzzn:      ,#####@ ;##################                     
                         *##:        M#W    *#@,@#+.+Wn    .##;                :##;                   `::,n#@ ,z##++++++++n##z##z                     
                         x#@`        @#x     :* @#+   `    .##;                i##,                       z#@             ;##:                        
                        .##n ,      `##n        @#+     z; .##; ;W:            *##,..............`        z#@             ;##:                        
                        +##;`@x,    .###        @#+    ;###.##;`@#W`           ##################:        z#@  .@WWWWMMMMMW##WMMW+                    
                       `W#W ####+   :##*        @#+   `W##,.##; i##z           z@@@@@@@@@@@@@@###:        z#@  ,##################                    
                       +##* .n###M, ;##;        @#+   ###+ .##;  x##;                         *##:        z#@  .####++++++n##z+##i                    
                      ,@#W`   i@##@.*##:        @#+  :##M  .##;  .@#@`                        +##,        z#@       .     ;##:                        
                     `M##;     ,W#+ ###.        @#+ .W#@,  .##;   +##n     ..`````````````.`  +##.        z#@  .  .z#*    ;##:                        
                     n##z       .z  z##         @#+`M##i   .##;   `W##;    M################  z##         z#@ ;@. `W#@`   ;##:                        
                    z##M`           x#W         @#+.M#z    .##;    ;#x,    M################  n#@         z#@+##n  i##+   ;##:                        
                  `n##W.            W#x         @#+ `+`    .##;     ;      ,,,,,,,,,,,,,,,:.  M#M         n####W;   W#M   ;##:                        
                 ,M##@,            :##n         @#+        ,##;                              :##z        `@###x.    *i`   i##:                        
               `####W,        ,nzzx@##*         ##+     ;#zW##;                          i+#n@##;        :###+         :nnW##:                        
               ,W##M.          M#####W`         ###     :####@.                          i#####x          *#i          `@####.                        
                .Wn`           *##@M+.         `###      M#@n:                           `@@Mzi`           :            z##Wi                         
                 .             `:.`             ..`      ,,`                              .`                            ,i,                           
                                                                                                                                                      
                                                                                                                                                      
                                                                  ...             ...                                                                 
                                                              `ix@###Wz:       ;n@###@ni`                                                             
                                                             *@#########x.   ,x#########Wi                                                            
                                                           .M############@; i@############x.                                                          
                                                          ,@###############################W.                                                         
                                                         `W#################################W`                                                        
                                                         z####################################                                                        
                                                        .####################################@`                                                       
                                                        *#####################################i                                                       
                                                        z######################################                                                       
                                                        x#####################################n                                                       
                                                        M#####################################x                                                       
                                                        x#####################################n                                                       
                                                        z######################################                                                       
                                                        *#####################################*                                                       
                                                        :#####################################,                                                       
                                                         @###################################@                                                        
                                                         z###################################z                                                        
                                                         ;###################################;                                                        
                                                          W#################################W                                                         
                                                          +#################################+                                                         
                                                          `@###############################@`                                                         
                                                           +################################                                                          
                                                           `@#############################@`                                                          
                                                            *#############################+                                                           
                                                             M###########################W`                                                           
                                                             :###########################;                                                            
                                                              z#########################n                                                             
                                                              `@#######################@.                                                             
                                                               ;#######################i                                                              
                                                                z#####################n                                                               
                                                                `W###################@.                                                               
                                                                 :###################;                                                                
                                                                  *##################                                                                 
                                                                   n###############x                                                                  
                                                                   `M#############@.                                                                  
                                                                    ,@############:                                                                   
                                                                     ;###########*                                                                    
                                                                      *##########                                                                     
                                                                       ########x                                                                      
                                                                        n#####M`                                                                      
                                                                        `x###W.                                                                       
                                                                         `M#@,                                                                        
                                                                          .M: