...................  .............  ....  ............... .   ....... .  .......  ....  .                ..  ..   .
   ....................  .............   .... ...............     ........  .  ....... ....  ..               .. ...    
......................................................   .     . ...........  .. ...... ..  ...               .. ... .  
...........           .......................................... .....    ... .... .... .. ....   .           ... .  .  
..........            ...;ccllllloooddddddddxxxxxkkkkkOOOOOO0000000Od;..             ...  ........            ... . ..  
    ......            ...000KK00O0XKXXXXXXXXXXXXXXXXKXXXXXXKKKKKkc'.....         ...   ........   .           ... .  .  
    ......            ...0KKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0o'.....     .............  ...........  .       ...... .  
    ......             ..0KKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKl......     .................  ........   .       ........  
    ......             ..0KKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXk.......  .  ...................  .......   .      ........   
    ......            ...OKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo.................................  ..... .   .     ........   
    ......            ...OKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXl............................ ......  .......  .     ........   
    ......            ...kKXXXXXXXXXXXXXXXXXXXXXXXXXXXXd....... ........ ............. ....   .......        ........ ..
    .....             ...kKXXXXXXXXXXXXXXXX0O0OkkkkOk00.................................. .    .......       ...........
    .... .            ...xKXXXXXXXXXXXXXXXXXKKKKKKXXXXc .......    .................... ..     .......       ...........
    .... .            ...dKXXXXXXXXXXXXXXXXXXXXXXXXXXO' .......'lo;.............. ..... ..     .......       ...........
    .... .             ..oXXXXXXXXXXXXXXXXXXXXXXXXXXXlo... ....:OOx..,........... .....        .......       ...........
    .. .  .            ..lXXXXXXXXXXXXXXXXXXXXXXXXXXXd0..   .,.cOOO',o..'..:..'.  .. ..        ......  .     ......    .
.   ....  .            ..cXXXXXXXXXXXXXXXXXXXXXXXXXXXkX;   ..;c;OO0;lk..l.lo..: . . ...        ...... ..     .....   .  
.   .....              ..:KXXXXXXXXXXXXXXXXXXXXXXXXXXK0l    ;:,.,ckkOkl:,.''.',,,.  .. ....   ...... ..'     ......  .  
..........             ..:KXXXXXXXXXXXXXXXXXXXXXXXXXXXKc:.  .,o. .cOOOOkxo:.   .;,.....',;.  ..........'     ...... ..  
................       ..;XXKK00XXXXXXXXXXXXXXXXXXXXKK0OOc   cko,,kOOOOOOOOx,':dk:...'',l,  ............    ....... ... 
...'''''''......       ..,K0Okkkxxxddolllcc:;;;,''........   .OOOOOOOOOOOOOOkkkOO:..'.;c.  ......... .      ....... ... 
...         ....       ...................................... oOOOOOxoOOOOOOOOOOk,.       .......... .      ....... ....
            ....       ...                .....................dOOOOkk0000OOOOOk:...    ............  .     ....... ....
             ...       ..                ................ .  . ..ckOOkk00OOOOkl;,...  ..............  ..    ....... ....
             ...       ...  .. .                    ...            'lO000Odl:,;;'....'..'.........  .',.    ........... 
    .        ...       .                                        ......;:,'.;;;;;.....;.,,,.......  ..;:'    .. ... .....
   ...       ...                                  ..................';;';'.';;;;... .,cooc.,.....  .;;;.    ...... .  ..
        .   .'..    .........      ..............................lxOo:.,;,;';;;,... ,xOOk,cxxl'           . . . .. .. ..
           . '..    .............      ........................'OOOkkx;oc,,;;lx'....oOOk:lOOkxxl'..         . .... .  ..
          ...'.. ..............................................oxkxOOlo00lxxkx;....;OOk:dkOOOkkxkl.         . .... .. ..
        ... .'..     .............................            .xocOO0olk0kxkxd... .loodkOOOOOkkkxxd'        ..... ....  
  ..............   ..............   .                         .d::OOO0Oo:c;cl,  .,OOOOOOkOxdkkkxkkkd' .    ...... .. .  
.....'''........     ..  .   ....................              o,lOOOOO0;'.kO.  .dOOOOOOxkokkxkxkkkdx.     .. ... ......
................     .............................             :dlOOOOOO;OO0o  .xxOOOkOkxdkxxkk:kkkdl'     ..... .......
.........           ... .......................... ..     .....'koOOOOOd;okOc .;xOOOkkxkklxxlddlkkkk:,     ..... .......
                     .. ...................... ... ..    ......,kckkkkkl:;dO:.ldOOOkkkoko:xxckoxkkkkx'.     ......... . 
                     .. .........    ......    ... ..    ...  .co'xkkkk:oOOk:'kxodkkokokclxoxdxkkkkxko'     ... ........
   .                 .. ..........................            .x:'ckkOO;kOOkkxk:loloc';ld:;dxokkkkdlkk:'   .... ........
     ....            .. ............  .                         .,;kkOO,lckkkkddl;lolc;':'lkokkkkx;okkx'.  ....  ...... 
...ll.',.             .                      ..                  .'okkO,olkkkkokkxlkkkd,,.:cxkkkkc,llcc:l  ....  ...... 
.        ..          ..                       .  .             ...;ckkk;OOkkkklkkOkdxkdxd;'dkkxo:.;oxxl,.  ...... ....  
...       . .        ..             .       ..   .................lcokk;OOkkkkdcoOOkkkokkl'.:ooo::l:;'     ........     
  . .... ...         ..         .      ............... ...       .cx:xk;OOkkkkkkdldxdodkkx,'.ldlllc::;     .... ......  
.   ...... .         ..         ........... .        .     ...... ,kkdx;,:kkkkkkkkxxkkkkkk:,:ckOOOkkkd.    ....         
           .         ......... ........   ...   ........ ....     'ckkllodkkkkkkkkkxkkkkd::ok;dkOOkkkk.      ....    ...
           ...       .. ...       ..............   .              ;ocxllOkdkkkkkkkkkkkxdoxkx:';kOOkkkk,       ..... ..  
           ..''.     .. ....  ... .......                        ':kdxcckkkoloddkxxxxxxkkdc,',;:kOOkkk:            .  ..
         'cxOOOkdl:,......  ...                    .   ....     'x:ckkoxdxxxdoooxxkkkkoc;,,,,::.okOkOOc.           .....
  ..   'xkkOOOOOOOOOOOkxol:;'.             .      .   ..... .cdxkkxl:';okOOOkkkkkkdoc,,,,;c:;d'.,kxkkkd.               .
.':c,..ckkkkkkkkOOOOOOOOO00OOOOxo:;'. .  ........  .  ..    ckkkkxdl,oldkkkxolc:;;,,,:coxkkod;''.xkdkkkl.               
. .....,dkkkkkkkkOOllkOOO00OOO00000OOxo:,.............  ...'dxlllod;kkxoooloooccllodkkkkkkxd;''l.xkkkOkk;.   .          
.......,cxkkkxkkkOOOxoxOOOOOO000000000OOOOxoc::....;;,;codxxddoodd,,looc;;;cc:cdxxxkkkxooc:,,':l.dkkkOOOx.              
.......',,:okkkOOOOOOOOxxOOOOO00000000OOOO00Okdx.....;dOOOOkxxxkk:::ckkkkxodxkkdodkdddxkdl:;''l,.ckkOOOkkl.....  ..  .. 
.........,,,lkkOOOOOOOOOOxdkOOO0000000OO000000Ox0'.....'cxOOOkkxl.xOkdkkOkkodxxxxdxkkkxxkdc:::,,..kkkkkkkk............  
.....  ...',,:kkkkOOOOOOOOOlcdOOOO000000000000OcKc........;,'.;.,.kOOccxkkddxxkkxxxkkkkkkkd;,',,. ckkkkkkk: .....    ...
............,,ckkkkkOOOOOOOOx;;lxOOOOO00OOOOOOO;Oo........:::;.,o,:kOOdc:ldkkkkkkkxkkkkkkkkkl,''...dkkkkkkd ............
.............,,dkkkkkkOOOOOOOO:,;:ldkOOO0O000Ox'0c........... ','cclxOOOkdodxxxddkkkkxxkxdoccx;,...'kkkkkkk.....''''''''
..............';dkkkkkkOOOOOOOOl,;;;;:ldkOOOOOc'x'. .........;,.... ..,:loxkkkkkxdodkkdokkkkd:,'....:kOkkOk:''''''''''''
......'........';dkkkkkkkOOOOOOOc,;;;;;;;;:cl:,,,,..  . ......     ......  .'cxkkkkkkkkxcxkl,,'......lkkkkko.'''''''''''
........''.......,lkkkkkkkOkOOOOO;,,;;;;;;;;;;,,';...  .  .....................,lkkkkkkkkcc,,,'.......dkkkkk,'''''''''''
.............''.'.':dkkkkkkkkOOOOx,'''',;;;;;,,,,d,...          ..................;dkkkkod;,,,. .. ....xkkkkl'''''''''''
 .............'''''',ckkkkkkkkOOOOo'......',,,,,lO. ..       .,;:cc:;,..............cokko',,,'..... ...;kkkkk..'''''''''
...................''';okkkkkkkkOOO:.........''';;.        'dkxxxxdddxkOx:.........l'.'ox,,''....... ...okkkk:...'''''''
.......................'cxkkkkkkkkOO:..........';.       .cdkOOOOOOOkdl;cdkl:;,,'.c.... ..,,''. .....  .,kkkkd.'..''''''
....... .................,cxkkkkkkkOOc..........      .:dOOOOOOOOOOOOOOkl,,;clllOl        ...,.   .......ckkkkc''...''''
......................... .;okkkkkkkkkl........''''':dOOOOOOOOOOOOOOOOOkkl,,,,,lk..      ........    .....okkkkdoc,;;'.'
...''''.'....................:dkkkkkkkkd'''''''',cdOOOOOOOOOOOOOOOOkkkkkkx,,,,,l0;      ......'''...  ....'okkkkkkkkkdol
...'''''''''..................'cxkkkkkkkx;''';cdOOOOOOOOOOOOOOOOOOOkkkkkkx,,,,,,dx.    ...'''''''''''......'xkkkkkkkxddd
.....''''''''''''...............,okkkkkkxdclxOOOOOOOOOOOOOOOOOOOOOOkkkkkk:,,,,,'.';  ..'''''''''','....'... 'dkkkxooodxx
......'''''.'''''''''............':xddddxkkkOkOOOOOOOOOOkkkkkOOOkkOkOkdc;,,,,'....; ..'''''''''.......'''''....:lodxc'. 
.......''''''''''''''''''........'ldkkkkkkkkkkkkkOOOOkkkkkkkkkkkkkdl:,,,,'','''';,..''.............''''''........ ..';,.
..........'''''''''''''',,''',coxxkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:,,,,,'..  ....''..............''''''......',.....'''...
...........''''''''''',;:clxxxxxxxxkkkkdllxkkkkkkkkkkkkxolc;,,,,,,'...   ....''''.......''''''''...........'.. ..'''''''
......'.....'''''..,:oxxxxxxxxxkkkkkkxc,ckxlcccokkkkko;,,,,,,,,,'.     ..''''''''''''''''''''...  ..''.'...  ..'''''''''