...........    .......;loddddxkOOkkxo:'.........................................
....................,ldddddxkkOOOkkkxdl;,.......................................
...................,dxdxxxxkOOOkxdoooddol:'.....................................
........     ......ldoodolloxkdc;coo::oool:;::;'................................
.........     ....':lxxxOo:;co;.lOdkx;:oolc:::;;............................  ..
...........     ...cldxkkoc::c,':lllc:loool:::;;'.........................     .
....'cl,.....   ...:dooddxdccc,cl::ccodooolc:::;.........................     ..
...;oo:,,..........'oxxxxOdclc,lkkxxxxdddoolc:;'.........................       
..;ol;,'...',.......,okOkOo:o:,lkkkkkxdddooolc,.........................        
.,ll;;;'...;c;'......'lxOklco:'ckkxxxxddddoool:'........................        
.lo:,;cddo;'';cl:,.....:do:ld:':dxxxxxkxxxddool;....................            
;oc;;;lkOx:.';:::::;'...',:ol,',:;;coxkdoooxddoc,.......  .  ...                
;c,;;;,;;,'.....,llc:;,'..cd;.',,',;lxxoc,;dxdolc,.....  .                      
;:;,,',,''''....,:lc:;,,,,ll'...',:lxkxol;;dxdoolc,...   .                      
':c:;;;,:ldd:,:c:lkOx;...',;,,;lodxkkxo;';oxkxdool:'... ...                     
';cc;;;;cxkkl:loccxko,..,;c:::;:cldoc;'..'lxkkxdool:'......                     
..;ccccc:;;,'',,,''''..''',''',,'.''.......:dxxdddol:'.....                     
...':llll:'.................................,lxxdollc;....................      
 ....;loolc'............. ....... ............:ooollcc:,,''',,,'...',;;,'..     
   ...:lool:....               ........''..',;:lollooollcccccc:;';lddoodoc.     
   ...lkkOOo'...             .....,::,;lcc::cl:,...';clllllllc:,,lxdlclldl'..   
   ...lkOOOd,...           ....,cdxxo;;llc:cl:...''...;cloooolc,,oxxdoodxl'..   
   ...lkOOOx,....       .....;okOkkxo;;cc:::c,...;:...,llooollc,;dkkkkkkkc'...  
  ...'lkOOOd,....     .....;okOOkkkxo,;ccc::c:.......'colllcccc,:xOkxxkkx:',..  
  ...'okOOOd,....   .....;okOOOOkkkd:':llcccll:,''',:looolccccc,:xOkkkkkx;,,... 
   ..'oOOOOx;..........:dO000OOOOxl,..:oolc:::cloolooool:,''',;,:xOOkkOOd;,,... 
.  ..,dOOO0O:........:dO000OOOOkl,....:c;,'....,coooool,........:xOOOOOOd;,,....
.....;dkO00Oc......:dO000000Oxl,......;'....'...'cdddo:...';'...;xOOOOOOo;,,....
.....:xO00Okc....:dOOOOOOOOxc'........,....,:'...:ddddc....'....;kOOOOOOl,;,..  
.....ck000Okc.':xOOOOOOkkdc'..........;'........'lddooo:'.....'.:kOOOOOOl';,.   
.....cO0000klcdO0OOOOkxo:..... .......::,,...',:lddddoooolc::cc,ckOOOO0Oc';;..  
.....ckO00OkkO00OOOkxl;...............:looollodxxdollllodddooll;lOOOOO0k:';;... 
......,:okOOOOOOOkdc,.................coooooooddc,'....:odddool;lO0OOOOx;';;... 
..,,,;;,ckOOOOOkdc,...................coooooodo;........cddddol:lOOOkkOd;,;;....
.';::c:;lkOOOkdc'.....................cllodxddl,...;;...;oddddo:lOOkxxko,,:;'...
..;::::;cxkkdc'.......................:llllooll,........:llllc:;lOOkxxkl',;;'...
l;;::::;:loollccccccc::;,'..',;;;;',clodddddoodollllllloooollllodkkkxkkc',;:;,,,
Xo;:::;:dk0XNWWNNNKkxxxxdoc:cooooo::k0000OOOOOOOkkkOOOOkkkkkxxxxxxddxkkc;x000000
XOoooodkXWWWWWWWWNKOOOkdool::cllll:;dkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddxkkc:OKKKXXX
XXXXXXNNWWWWWWWWWWNKxccdOkl;;c:::::;cllollllllcclllllllllooodddxxxxxxkkc:OXXXXXX