...''''''''''''''''''''',,,,,;;;;;:::::::;;;;,,,,'''......                      
..'''''''''',,,,,,,,,,,,,,;;;;:::::::::::;;,,'.......                           
.''',,,,,,,,,,,,,,,,,,,;;;;;;::::ccccc::;;,'....                                
.'',,,,,,,;;;;;;;;;;;;;;;;;::::ccccccc::;;,'...                                 
.'',,;;;;;;;;;;;;;;;;;;;::::::cccclllcc::;,'..                                  
.'',;;;;;;;;;::::::::::::::::ccclllllllc:;,'...                                 
.'',;;;:::::::::::::::::::cccccllllooollc::;'...                   ,oxxxdl'     
..',;::::::::ccccccccccccccccclllloooooollc:;'...               'dKXXKKKKK0:    
..',;:::cccccccccccccccccccccllllooodddoollc:;'...            ,xNNNNXXKKKKK0.   
..',;::cccccccccccllcllllllllllloooodddddoolc:;','.         ,kNWNNNXXKKKKKKKc   
..',;::ccccllllllllllllllllllllooooddddxddoolclc'...'.....'xNWWWNNNXKKKKKXXKd   
...,;::cclllllllllllllllllllooooooddddxxxxddoxllc:;'    ,kNWWWNNNXXXKK00KXXKk.  
...',;:clllllooooooooooooooooooodddxxxxxxxxdkxdc;,'.;oOXWWWWWNNNNXXXKK0KKXNXO.  
 ..',;:clllooooooooddooooooooooooddddxxxxxxOOOO00O0XWMMWWWNNNNNNNNK000KKXNNXd   
 ...,;:clloooddddddkOkdooooooooooxkO0XNWMMMMMMMMMMMMMMWWWWNNNNNNXXK0O0KXXNNO.   
 ...',;:lloooodddx0NWWX0xoodkO0NWMMMMMMMMMMMMMMMMMMMMMMMWWWWNWNXX0OkO0KNNNXo    
  ..',;:cloooddddxKNMMMMWNNWMMMMMMMMMMMMMMMMWWWWWWMMMMMMMMWWWNXKOkkO0KXNNX0;    
  ...,;:cloodddddx0NWMMMMMMMMMMMMMMMMMMMWN0xoccldx0NWWMMMMMWWWNNNXK00KXNWXk.    
   ..',;clooddddddOXWMMMMMMMMMMMMMMMMMWWKd'.l;.d0XMMMMMWWWWWWWWWWWX00XNNW0:     
   ...,;ccloddddx0XWMMMMMMMMMMMMMMMMMMNX0ddkdkXMMMMMWWWWWWWWWWMMMWWNXXNWWk.     
    ..',cclooddxkXWMNOxOMMMWWWWNWMMMMMMMMMMMMMMMMMWWWWWNNNWWWWWWWWWWWWWWWK,     
    ...,;llloddxx0WMKoxMWWWWXxOKWMMMMMMMMMMMMWWWWWNNNXXNNNWWWWWWWWWWWWWWWK;     
     ..';coddddkXMMMMMMMN0XNXKMMMWWWWWWWWMWWWNXXKK00KKKXXNWWWWWWWWWWWWWWNNx.    
.    ..';:ccoxk0WMMMMMMMMMWNWWWWWWWNWNWWWWWNNXXXXKKKKKKKXNNWWWWWWWWNNNNNNNO.    
.     ..';cloddxXMMMMMMMMWWNXXXNNNNXXNXNNNNXXKKKKKKKKXXNNNWWWWWWNNNNNNNNNX0;    
..    .';:clodddONMMMMWWWWNKkxk0KKX00XNXXNXKKXXK000KXXXNNNWWWWWWWNNNNNXXXXK:    
'......,,;:cloddxXMMMWWNXXXO:....,cld0KXkx0xdcldO0kO0KXNNNNNNNNNNNXXXKKKKXXd.   
...     ..';:clooXMMMWNXX0kl..   . , clo;.'xc:.  'oxkKXNNNNXXNNXXXXKKKKKKKKk.   
'..     ...,;cooONMMMWWWNK0d'     ., c:;l ..dl..   .kKXNXXXNNNNXXKKKKKKKKK0c    
,...     ..',cxkOKWMMWWWWNXKd;.  .'  l:.o ...x:    .x0NNXXXNNXKKKK000KKK0K0c    
,'..      .;:dlxokXMMMWWWWWN0o;..'  ,:;.l'...'o;   ckKXXKKXXKK000KKKKKK00KKO,   
;,...   ..'.d;;xloOXWWWWWWWWNKko,.  :.'.c:.,,:.,, 'xOKXXKKXXKK00KKK00000KKKKo.  
;,'.....   ;;',cdookWMWWWWNNNNX0dc,;..,'cl;::l' ';xOKKXK00KKK0O000O000000KKKk,  
:;,...     o..',cdldXMMMWWWNNNNNKOkl..::dxdddol.'0XKKKKK00K00kkkOOOOOO000KKKKx, 
:;,'..     c...'lcclxKWWWNWWWWNNNXK0OxxdxxxOkxdcO0KKKKK0OkOOkxdxkkkOO0000KKKKKx.
:;,'...    : ...l;:cld0NWNNNNNNNNNNockxll,,:kkxdKOKKK00OxxkkOkkkOO000000KKKKKK0o
::;,'..    '. ..:,;:clOWMMWWNNNNNNNKdc:'''',::dlod0KK0OkddkOO000KKKKKKKKKK000KK0
::;,'...    .  .':,;:l0WMMMWWWWNNNNNNX0klcc;. ,ld0KKK0xooxO0KKKKXXKKKKKK0000000K
::;,'...       ..,'',lXMMMMMWWWWWWNNNNNXkc,'',:lx00KOoloxk00KKXXXXXXXKKKKK000000
::;,'...        ....'lXMMMMMWWWWWWWWNNNNNXKkddkO00Oxlloxk0KKKKXXXXXKKKKKKK000000
::;;,'...       ....,OWMMMMMMMWWWWWWNNNNNXK00Okxddodddxk0KXKXXXXXXXXKKKK00000000
;;;,,'....         .cXWMMMMMMWWWWWWWWWNNNNXX00OkkkxxxkO00KKKKKKKKKKK00000KK00000
;;;;,'....         .kNMMMMWWWWWWWWWWNNNNNXXXXXKK00O0000K0KK00000K00K0KKKK000000O
;;;,,'....         :XWWWWWWWWWWWWWWWNWWNNNNNNXXXXXXKXKKKKK0KKKKKXXXKXXKKKK000OOO
,,,''.....       .l0NWWWWWWWWWWNWWWWNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXKKKK00OOOOO
'''......       :ONWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNXNNXXXXNXXXXXXXKKKKK0000000
......        .oKWWWWWWWWWWNWWWWNNNNNNNNNNNNNNNXNNNXXNNXNNNXNXXXXNNXXXXXXKKKKKK0
...          .oKWWWWWNNNWWNNNNNNNNNNNNNNNNNNNNNNNNNNNNXNNNXXXXXXNXXXXXXXXKKKKK0O
            .oKNWWWWNNNNNNNNNNNNNNXNNNNXNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKK0000OOOOk
           .dKNWWWWWNNNNNNNNNNNXXXNNXXXXXXXXXXXXXXXXXXXXXXXKKKKKK00OOOOOkkkkkkkx
         .:kXNWWWWWWNNNXXNXXXXXXNNXXXXXKKKKKKKKKKKKKKKKKK00O000OOOOkkkkkxxxxxxxx
        'o0XNNNNNNNNNNXXNXXXXXXXXXXXXXKK0000000000000OOOOkkkkkkOOkkkkkkkxxkxxddd
       'xKNNNNNNNNNNXXXNNNXXXKKKKXXXXXXKKKKKK0000000OOOOOOkOOOkkkkkxxxkxddooddoo