XXXXNXNXNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKd, .,..  .  ....,'    
XXXNXXXNNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXK0, ...   ...;.....    
XXXXXXNNNNXXXXXXXXXXXXXXXXXXXXXXXXXXXK00OO000; ''. . .;.....      
NNXNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXK0kxoxxdkxc. '.  . .;,....      
NXXNNNNNXXXXXXXXXXXXXXXXXXXXXXXXKKKK0kkodxxdo' .:coxol'....       
NNXNNNNNNXXXXXXXXXXXXXXXXXXXXXK0Okxo:;,'.....'.k0kkx0Oc....       
XXXXNXXXXXXXXXXXXXXXXXXXXXXXKOdc,..          ..lOl.;;oo;,.        
XXXXXXXXXXXXXXXXXXXXXXXXKxd;.       .....    . :l.OXx,o,''        
XXXXXXXXXXXXXXXXXXXXXKdc:;.    '...........  ..l.:KKOcl:..        
XXXXXXXXXXXXXXXXXXXX0c'...'c:..............  .:,,;OK0clo..        
XXXXXXXXXXXXXXXXXX00c...oONXo....,''......   .:;;;kK0:dx.         
XXXXXXXXXXXXXXXXXK0d...kNNNNk....'........   .oxc;o00dok.         
XXXXXNXXXXXXXXXXXX0x,  ;0XNXO.............   'lkl:;0x:dx. .,      
XXXNXXXXXXXXXXXXXXX0d,.  ..;,.   ......     .:xxc;xd;xx;..'.      
XXXXXXXXXXXXXXXXXXXXK0xl,... .           . .,;k''xx:dxc.'.        
XXXXXXXXXXXXXXXXXXXXXXXK0Okdc:''.......',,'.,,,oxdccdo.'.         
XXXXXXXXXXXXXXXXXXXXXXXXXKOkkkdodolco::coo''..clllooc'':          
XXXXXXXXXXXXXXXXXXXXXXXKK000Okkxxdclcc:cl;.:,cololo;'             
XXXXXXXXXXXXXXXXXXXXKKXKK000Okkxxxllccccc. ,;coo:;..              
XXXXXXXXXXXXXXXXXXXXXKKK00OOOkxddoloollo;.'..:;'...               
XXXXXXXXXXXXXXXXXXXXXKK000OOkkddooollodl . .......,,..            
XXXXXXXXXXXXXXXXXXXXXXK000Okkxdddoolodd, l .;,.;.:.c,.            

_