;;::::......... .    .                                                         
 ::::-....... . . . .            ... .                                          
 :::-:.-...... . .__,%_,_:+-::.::=++|=/_.                                       
 ::-:..:....  . <amWmZ"=.. .  .....:::;|*ai,                                    
 : :-.:.... . _dZX1*ix;.          .:.==++||1s,                                  
 :::.:...... .jmS>++++=           ..=|||||iiIo,                                 
 ....:..... ..wW}=::.-;. .        .-==ixxnxivnn                                 
 .-...... ... m#(:.....       . . ::.<ixnoooxxv.                                
 ... .  . .. .3m;.::.... .        ..=ixXnXZXnvI;                                
 .. . . . ..  3h:::....     .    . :=ixXXXZX2Xx(                                
 . . . . .   .mZ=::::.... .       .==xoXZZXSnovi                                
 . .  .    . :WC::::-... .  .. ..-.=inXXSXXnSov(                                
  .  .  . . .-   .  :.... .....  `:=<inXXo2nnnl+                                
 .  .       .......-....  . . . . ...+*S1oil>i_>                                
        .  ..  .   . .. . ..... :->oXos +xe` -v;                                
  .  .       .  ..    .  . .... . :)X(   ~*ixnv;                                
          .   .     .  .  ..::...:nZe`     xxvv=                                
   .    .      .  .   . .   .-+:)in>:      +vnvl,                               
  .   .          .      ... ....-+|i= .    :{vnvv;                              
     .             . . .:..... . .=> .     .lIvnn%;                             
   . .              ... .<:=... .:+ .   .i+<Invooos                             
  .:                 .. .=:.`.....  ..=i=nx={xvoXoni                            
 .  .                ..  ..=... . _ix>*}<x_a%<nSXXXs=                           
                        ....:`.:;=nX2>'..+SoudoXXXXo|`                          
                      .   :::;=||xd#2s%|x#ZX#UZZZZXXo,        .                 
                         .:=<|%uum##mX>awXXXZ#Z#XZXS2c;                         
                         :.:%ixnXXZXXZZmZX###ZUXZXXXSoi.     .                  
                          -:|{{oXXnXXZZX#ZZXXX2XSS2o2o1x,                       
                          -:;>nv{1<x2n2S2XXSnnnS2XXS2nxnv>                      
                           .:-+|c%|<iix1XoSon2oXXZZX21xilv>.  .                 
                            ..--====|xIxx2XSXXXXXXX2nnvlxivs: .                 
                            . .-+.=;lI1ood2XXXZX2S1n1xIvxxoox; .  .             
                             . . :=.=<{unoX2XXZXnxlil|xooXoSnn>: .   .          
                  .             +:==;<n1oXS1XZXXx>i||ilnooXS2o%|;    ..         
  .    .                        =.%x%=xnX32n2XXz1ii+|il1oSo2S2n%=|.    .        
                    . .        . =sxs=xx12XxSx3}l|lx%<ixn12oS1oo>==.    .       
    ..   .            .          +{ni:<Il{xIInnxii|Ivx|II{lxnnnnni::            
      ..             .  .         :ox=:<|=iiixivs>1%lI%||||vxnvvnni:.           
    . . .               ..         {<|====={Inx%>i=)x+i=|><%xxonvnn>..          
  .   ..                ...         ^-=<vx;>xxoni;|<+s:====IIIxnvnox=:          
    .   ...             . . .          .{IXs;{xxs==|s/|.:=|+ilxvInonx|.         
  .  .                    ..          . .~ie>|%lv|:<|i<=;:+|ixxvsin1n>;         
       . . ..                   .         -=:|xxii.:.~:<==;:=<vvvx%vnvi.        
 .. . .       .                .   .    .  .:=+S>ii=.   -=<i;:={vIIsIn>|        
           . .  . .    .          .   .   . .-;<n><i==;.. |ii==+l|vvixn|=       
                   . ... ..          . . .     -Is:<==>:<_::<|==++~-<vn>=:      
                      .......... .. .           -+i|<<(==i|:=>- .  .:.<os>      
   .            .    .  .. . ..... .. ...     ... -<%|:+=:-`   .    .:xo2oo_,   
                    . ..___..      . . .  .   :Xoox1nii|=;:.-..  . .+:)o222So(  
             .   _avI>==;;=++<i,. .   .       )oo2ooXXoxli::.- --  .:|Io22xoo(  
                .3oixi>==|==_=xe             .ooxinXZ#XSx||i=;..    .:xo222%nn  
                 =XXXSnaxuuXZ#X;     .      .)li=<x1XXSoxi|=:-.. . ...<nn{Io%"  
                 xZSovlllvvoXZ#(          ._ii||=|iilIlIl|::--.......;={nc<222( 
                 )#XXXouoXXX##Z;          :++||i||||+|||==;;;;::-... -.-xn<xoo( 
                 )###Z#m#Z####Z;            .__aaass,__s,;: - .       .;xn2XS1' 
 .               )ZX###ZZ#UZ#ZX`           j#mmmUZZXZmB#m##Z#XXXS2o221**lI*Ii=: 
 wawaa>=____.....<o+"""""}""+{1           _##mBmWmmmmmmBmB#mZZXXXsxonIIvxivvvv; 
 QQWWWQQQQQWQmmwuoo|==_=+;=iixo_.. .     =m###mWmWmBBWmWmW#mmX#m2XXXoovvIsuInx; 
 QQQQQQQQWQWmWBBBm#oass%aaxuodXaouxnoqmm#mmBmmBmBmWmWmBmmmm#####Z#mXZmXZqXoXod( 
 ????????!?!"!"!"?!"!"!"!"!"?!"?!!!"^"""?!??????????????????!?!!!"?!!"!"""!"!"'