........                                 
                                       ........                                 
                                        ..............                          
.                                      .. .';,..........';,.                    
:                                     ......';'.'.,:dO0KOko;.                   
x.                                   '.......''.',cO0kd:'...                    
k:                                   l:,,''......''.........          '.        
kd.                  .':loolc'       ;l,,''...............           .co.       
kkc               c0KXMMMWMMMMWXkdlkKXKx;..................            ...      
kkd.     .';::cXXKOkXKXXWWMMMMMMMMMNOl,,''''....'''.''.......           .,      
kkkc  .:::ccldodOKNWMMMWMMMMMMMMW0c''','''.'''.'''.............         .kd     
kkkx. cOOl:::loc::d00K0xxOKNWMW0l,',,''',,'......''''...........         ,l     
kkkkl'klc:clxO00xoccldolllok0X0l:;,;,,;;;;,'''''........  .               ..    
kkkkxlclodccccccdOKXNWNKXxllx0dc:;;;,,,''..'''''...............            .    
kkkkox0Kklccccccdk0XXXKxkxldko;,',',,,,,'....'''''..............                
kkkxodlclo0XWNKddlllllokkdoko:;;;;;;,,,;;;;;;,'.....'..............             
kxlclollllokxxdolcldKNNNKkl;;,'''''''''',,,;;,..........    ... ....            
Olld0NN0llodddolllllk0koc:;,.....',,'......'''.... ..................           
oldk00xloONMMMWK0Kdllodl::,',,,,'',,,'....................  ..........          
lllllllldKKNN00koolx0Oko:;''..''..........................  ....   ...          
olllllllllloollllo0XXX0xoc:;,''......................................           
loKXOKKolllloxxoolllxKKKKOxc;;,,,''.'...........................  ...          .
WMMMWOxoldkkWMWN0dloKXNWMMMWX0koc;;,'..''............................         .,
XNXklllllodkdxdllloOWMMMMMMMWX0xoc:;;,',,'.''........................        ,dk
WNXOkxxdodooddkKNWWMMMMMMMXkdoll:;;;,'...'...........   ........ ...        ,dkk
MMMMMMMMMMMMMMMMMMMMMMMMMKdlc;;;,''''',;,,''..................     .       .clco
WMNNXXNMMMMMMMMMMMMMMMMMWxl:ccc:;,,,,'..',,,.''................           .;:dOK
OOxdolxNWMMMMMMMMMMMMMMMMO:;;cc:;'.,;;,'.''..',''''...........          .,;;oxdd
odk0NMMMMMMMMMMMMMMMMMMMMNd,';c::.';',;;,','............ ....       . .';;;:cl::
WMMMMMMMMMMMMMMMMMMMMMMMMMOc',;;,.''.;:,..,,,'..''.......... ..... ...;clodxkklc
MMMMWNNXK00KXWMMMMMMMMMMMMKo,''',,.',,;,.,;,'''''''......... ... ..'oOKXXX0kxlcc
;''''''''..':okO0KXXWMMMMMXo;,,.,'.',,;'..,,'''.'''...............:kXXXX0kkdcccc
...........;looc:,;codOXNNKo,''''...''''',,,,'''........ .....',;cdOkxdkxoccclcc
lc::::::;;;;ccc,..;ooooloodoc,,,,;;:cloloooooc:,'''........,;cllcccccccccccclddx
KdoooooOXNNXkc:;,';cc:;;,;;::lllc:cllollllllc:;,''......,okkxOOkkkdlccccclokNMMM
0dooxkOK0xollox00Oxkko:,''''::;;,cccc::::::,'''....',;:cdOKXKXOolcccccccloxxOKXN
llloddolodOKNWWWWN0OKOdcccccccodkxddxdl;;,;;;;::::::cdk0KXXKOocccccccccccllllddo
lllllloxKWWMMMMNKxoolllok0KXNNNNXX0kO0xlccccccccccccclccclolcclx0XK0dlcccclllllc
lllllllloodkkxdllllllllokk0XXXXKOdlllllllloxO0OkxolddlccccccclOXWWWMW0dxxolllllc
lloolllllllllllodxkkdlllllllollccccccccclxKXXK000kxxlcccccloO0KNWMMMWNOk0koccccc
kXNXOddollloodkKNWWNXxdxdlcllcccccccc::cccldkxoolcccccc::cxKXK00O0KKkONN0occlcc:
NNXKOxollox0XNNNWWWNKkkOxlllloxO00koccccccccccllllclllccccloox0Kkoxxdllollcccccx