WWNWc,ddccoooOKxc;,'.:kxxxdddddddddlll:,,'...'.    ,:. c'  ..                   
WWNW:'ddccodo0Kxc;,'.ckkkxxddodddddool:,,..'''       ..:.  ..                   
WWNWc'ddlcoooXKxc;,'.lkkkkxxddddxddodl:;,...''        .,. ...          ....     
WWWNc,odlcoodXKxc;,'.oOOOkkxxdddxxdodl:;,.''''            .........  ........   
WWWXc,lxlcodkXXxc;,'.dOOOOkxxxdxxxxodo:;'''''.            .. ................   
WWMKc,lxocod0NXdc;,'.k0OOOkkxxdxxxxodoc;'''''.            ................      
WWM0c,cxocddKNXdc;'..kOOOOkkkxxxxxxddl:;'''',.           ..................   ..
WMMOc,:kolddXNXdc,...k000OOkkxddxxxddl:;'''',            ..................  ...
MMMkc,:kdldkXNXdc,...k0000OOkkxdxxxddl:,'''',            ...............        
MMMxc,,kdldOXNXoc;'..O000OOOkkxdxxdddl;'''',,           .;,:,. ......           
MMMd:,'kdldKXNKoc;'.'O000OOOkkxddddxoc;'''',,         'clc:..'       ..    .    
MMMd:,.xdlxXXNKoc;'.;O0000OOOkxddddxo:;'''','       .ldxdoc,.     .....    .    
MMMx:,.xdlkXXNKoc;'..';lxOOOOkxdoddxo:,''',;'     .'coddc:,...    ...........   
MMMk:,.dxl0XXN0oc;'..','''lxkkxdooddl;,'',,:;,,;:olllloc,,... ..'...............
MMMx:,.oxlKXXN0oc;'';;do:,''':clooxkddddxkk0Oxxdkxlclxx:,.....,,'''''''''''.....
MMMx:,.lxoKXXN0dc;''ld:dxc;,''....;coxk0KOdl:;,,:,;:lol:;,... ;;;;,,,,,,,,,,,,,,
MMMx:;.:xlKKXNOdc:,,lxOool:,;'....,;:ck0KOko:;;,';:l::::'.   .;;;;;,;;;;;;;;;;;;
MMMx:;.;xoKKXNOdc:,,ox0OOdc:,'.....,;lkddoxxdd:l:;:'..... .  ';;:;;,;,,'..',''',
MMMx:;.,xo0KXXOdc;,,ox00kxx,'.....,:cclc;:dclo;';xl,''''...  .;;;;'..           
MMMK:,.'xo0KXXOdl;';dx0K0d,.....,cox;,;;cdkdc:...:ccl;,''.. . .,;;' '..''.......
MMMNc,.'xo0KKXOdl;',odO00x'.''':cddo.;'::dk:.    ....          ..'........  ....
WWMMl;''doO0KXkdl;''odk0x,'';lodd::..'loodl.                    .......... .  ..
MMMMd:,'olO0KXkdl:,'ldxOc,;,,:l:,;','ooOxlol.                    ..','......    
MMMMk:,'llk0KXkdl:,'coxOdc;,'....'';ddokx:dl'                        ...,'...   
MMMM0:;'llk0KXkdl:,,codOklc;c,'''',,;ccool;'.                       ..    ..... 
MMMMK:;'cldOKXkdlc;,:odkOdl;;;'..';::ccxxlo;.      .............................
MMMMN:;':loO0Kkdlc;,:ldkOOd:;,'';;';:::lc..                                     
MMMMMc;':loO0KOdoc;,;loxOOOxccc;::,.'':lc,..      .  .'','.                     
MMMMMx;':llk0KOxoc:;;lodO00Okocc:::,''';,,.'.. ..'..'..  .',,'..                
MMMMWX;':clk00Oxdl:,,codkOOOxxdllc:ccclc,...    .''. ,,,..   .......            
MMMWWX;':clk000xdl:;,:lokO0Okxxdkdc::;,:cc;'..    .   .',''..   .......         
WWWWNX;';llxO00xdo:;,:loxOOOxxddkocc:c::;'....       .  .'  ..'     .....       
WWWWNWc',llxO0Okxoc:,;lodOOOxxdxxdoc;;;;::;'..            ,.  .;.               
WWWNNWo''llxkOOkxoc:,;cldOOOxdlllcll;',;'...... .  ....''..,'    '.             
NWWNXNo,'lldkOOkxdl:;,:lokOkxxclc,,,,;:c'......'c;,::cxxll,':::.. ..            
NNNNXNd,'cldkOkkxdl:;,:lokkkOx::c;,'..,,;c,...'dx,:lc:loo;;,,,'''....           
NNNNXNx,'cldkkkkxdlc;,;clxkOOc,;;;''...,cl:,....,.'''.,,,,,''....               
NNNNXNl,'cldxkkkxdo:;;;clxxdc::colc:,'..''.....','..',,..'.....  ...            
NNNNXNc,,cldxkxkxdoc:;;cldxxo;cc:;;:::;:;,'''...''''','........                 
NXXXXX:,,cldxkxxxdoc:;;:codllclool:lc:;,:l::;'..',;,'.''....'....               
XXXXX0:,,clodkxxxdol:;;;;,,:okkdol:;,,;lodxkxxxoololc:'.,.....',:;'''.....'...  
NXXXK0:,,coodxxdxdolc;;;,,c::col:;,clKKKKKOkOkxxkO0xxkxxdc;,:lcolddc;,;'.,;::;. 
XXXXKKl,,:oodxddddolc;;;,,'.......:OXXXKK0xxxkdxxxOkxkOOdxkd::c;,..... ....';.  
XXXXK0x;,:oodxddddolc;;,ll;.  .. .0XNK00OxxkxxddkxOkxxdool:;,....  .    ..'.    
XXXKK0k:;:oooxdoddolc:;,c:;...  'OKN00OOxxxxdoxxkxOddkk.. .',....... .. .       
XKKKK0Ol;:looxooodolcclc,;,....,xONXKOOOOxddkxdddxxkxOx,'..  ..,;:;...          
KKKKK0ko;:llodolooolc:lc,.....,d0NX00K0Okxxxdxddxdxdxd:'',.   .','..            
KKK000kd:;lllollloooc::c;'...:kXWX000KKkkkddddxdddddo;'...                      
KK000Okdc;ccclllllol,,;.'''..xXXXK00KOOkOOxkxOkOxddkxk0,                        
KK000Okdo:cccllcclll';.';;,'cKNKK0KKKK00xdxxdkOddxxdkkc.                   .    
K0000Okdo::::cccccl;;.'''..'d0XKKKK0kxoc;,;,;;:;;,;;::c.  .                     
0000OOxdd:::::ccccc'...,,.,k00XOxl:::;;',,;;;;:;,,,,,,,'';'                     
0000Okxddc;;:;:::cc,';:;..:0Kklc:;:;;,,,'',;:;;,',''';,,,,..                    
00OOOkxdoo;;;;::::c;',,:::x0olcc::;;,,,;,,;,,,,,;,'',,,,'.....            .     
OOOOkkxolo:,;,;;;:lkdoo;:dddll::::;,,;;;;::;,,::,,..';,,'..........        .    
OOkkxxdolll,,,;;;;cKOOklloolc:::::;cc;;::;,';,:,''';'..''.......... ...      ...
kkkxxdolcco;,,,;,,:d0Oklloolccccccl:;::;,,;,;,;,.';,'....'...............    ...
kxxddollccl:,',;,,,;:okcoolclcccc:;;:c:;,;,;',',,'',,,.'................ .   . .
xddooollcccc,'',,,,;:ccoocll::l;:::;:;;;,:;,;,',,'','............... ...        
ddooollc::cl,'','',;::clccc:::c::c::;:c:::,,,;'',..'................      .     
ooooolcc:::c;'',''':clll:;;;:;::;;;;:::;;:,,',''',..'''.............   ..       
ooollccc:;:c:..''.:llllccc:::::,,;;;::;,;,',......'.................            
olllccc:;;;::..''::clc:c::::;;;',,,',''','.''''....'.......  .......            
llccc::;;;;::'.,:,clcc:;;:::::;;:;;;;,'''....'...'........  ..  .. .            
lcc:::;;;;,;:,,::clclccc::::;;,,,;;;''..'.................. ..   ...          . 
cc:::;;;;;,,;;c:cllc:;:;;::;;;;;,,;,'..''';'................. ......  .   .