...',...,,;;::::::::''',;;::::o;         .cdkOO00OOOOOOkkkkkkkkkklclddl,''.'','..            
     'o;..,,...,,;::::::::;''',;::::cd'      .;oO0KKKKKKKK00000OO0OOOOO0x,..';:c,''',,,...          
   .l0l..,;'...;;;::::::::;'',;;::cccd:    'oOKKXKKKKKKK00000OOOOOOOkOkkOx:.  ..,c:,,,;,....        
 .c0Nx..';;...,;;;:::cc:::;'',;:::cccox; .lOKXXXXKK0000OOOOkkkOkkkkxxdolc:,.     .c:,;;;'.',.       
'xKXXc..,;,..,;;;;::cccc::;',,;::ccccoOx.:0KKKK00000OOOkkkOkxdoc:;'..             .:;;;:,'',,.      
OXXX0'..,;'.';;;;::cccccc:;',;::ccccdOKx:k0000000OOOOOkdlcc::::::;,,'.....         ..,::;'',,,.     
NNNNx..';;'.';;::::ccccccc;,,;::ccclkKKdc0000000OxdoollloxO00OOOkkxxdoolc:;,'..      ..;;'',;,.     
XXXXl..,;;'.,;::::cccccccc;,,;:cccclkKKoc00OxddxxxkO0KXXKKKKK0Okxxxxddoolc:;,'.        ':,'';;'     
XXXK:..,:;'.,;::::cccccccc;,,;:ccccoOKKl:lclk0KXXKXXXXXKK000Okxdoool:;'..               .''';;,.    
XKK0;..;:;'',;:::ccccccccc;,,;:cclllk0O:.'d0XXXXK00KKK0OOOkkxdol:;..                      .'::;.    
XKOd'..;:;'',::::ccccccccc;,;:ccclllxd;.'lO0000OOkkOOOOkxxddoc;,.                          .::;.    
K0dl...;:;'',;:::ccccccccc;,;:ccllllo,:dkOOOOkxxxddxxxkxdoc;,..                            .:c;.    
ooll...;::'',;:::ccccccccc;,;:ccllllccddolccc:;;;;:::ccc;''....                         ..  ;c:.    
llc:. .;::,',;:::ccccclccc;,;:cclll:,.....',;:,'. ..';:,.                                . .;c:.    
llll' .;::'.'',::cccccllcc:;;:cclc'..      ......                                        . '::;.    
cccl, .,:;...',;:cccccllcc:;;:cll:..        ...                ...                       ..;c:;.    
cccl;..'::'.,,;;;::ccclllc:;;:ccl:.           .....    .cddl;.  .                       ..':c:,     
:cc:,. '::,;clokxc;;:cccc::;;:clll'.            ....   c0KK0k:.                         ..,cc:'     
ccc:;. .:c:;cloO0d;;;:cccc:;;:ccll:'...............   ;OKKKKOo:.                 .....  ..;cc:.     
:ccc:...;cc;cllx0kc;;:ccccc;;:ccllc:;',,,,,,'.....   'k0KXXKOdl:'.                ...   ..;c:;.     
;:::c,  .:c;:lloOkc;;:ccccc;;::clllll:'........  ..  c00KXXKOxoc;,.           ......   ...;c:'      
,;;;::. .,::,,;cll::ccccccc:;::clllllll;'...........'xO0KXK0Oxolc;,'...  ......... .......,,'.     .
.';;;;'. ':c,.':ccc:cclllllc;;:clllllllooodl;,''''''ckO0KKK0Oxdolc,....'''''''','''','........:'.  .
..,;;,;...:c:;,:cclllllllllc:;:clllllllooodkxxddlllodk000KK0kxxolc,....,clooooollcc:;'........c0d,.,
  .,,,''..':cc;,;cclllllllll:;:clllllllooookkkkOOOOkxk000KK0kxdlc:,.....;oooooollc:;,'........cKKkl;
    ...''..,cl;',:ccllllllllc:::cllllllloOXWKkkkOOkkkO000KKOkolc:;'...  .loooollcc:,'.........cKXKKx
      ..,,.';;:;,::ccclllllll:;:cclllllldXMWWXOkkkkkOkOO000Oxoc;,'...   .:ooollcc:;,''.......:c0KXXK
    ...,xOkxclcc;;;::ccccllllc;::cclllllkWWWWWXkkkkOOOOkkkkxoc;'...     .,oollcc:;,''.......,ol0XKKK
.   ..l0K0Odxolc;,;;:::ccccccc:::ccccccl0NXNWNKOkkOO000Oxdoc;'...      ..;llcc::;,''........',lKKXXK
.   .dKK0xdxollc:,,;;;::::cccc:;::cccccoKKx0XK00OkkkOOOOkkxdl;,...     ..:ccc:;,,'''......''':OXXXXK
  .,xK0Oxxxolllc:'',,;;;;::::::;;:::::clOXKxddk0OOxddxkOOOOOkOkdl;''..'',''';;,,''''.'.'',,;o0KXXXXO
 .c0K0kdkdlllll:,,'',,,;;;;::::;;;:::::::ok0dccldO0xodxdooodxxxoc:,,''....',;;,,'.'',''',;cxOKKKXKOx
.o0K0xlxdlllll:;,,'',,,,,;;;;;;;,;;;;::::::lkkdlld0KkddxddxOkdoolc;;;;,,';;;,,,'',,,,,,,;:dOO000Oko;
lK00kokdlllllc:;;,,'',,,,,,,;;;;,,;;;;;;;;;:oOOkdloO0xddddooolllcc;,''..,;;,',,',,,,,,;;cxkdodxkkx:.
0KK0ldolllllc:;;;;,,''',,,,,,;;;;,;;;;;;;;;;:codkkxxkkooxxkxdl:;;:;:::cc:;'.';,;;;;;;;:cxxl:;cxOKx. 
x0kcdollllll:;;;;;,,'..'''',,,,,,,,,,,,,,,,,;;;;:cldxxdllxkkkxdddoooolc:,',loc;;;;;;;:ldl:;;;cdxo.  
.llkxllllll:;;;;;;,,......''''',,,',,,,,''',,,,,,;;;;:lOOxxdollcccccc::;;:k00koc::::;:co:;::::;.    
  :0olllllc:;;;;;;,,'.......'''''''''''''''',',,,,,,,;;xWWNOdl:::clldxddclO0Okkkxoc,.'cxlclc:;.