DIR\INDEX
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKOxoox0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0o;...      'OXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKc.            ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:             .xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:            .xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx.        ...,KXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
KKKKKKXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKx..       ..,;OKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK:..       ..,;kKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKl..       ..,;0KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKXKKKKXKKKKKKKKKKKKKKKKXXXXKKKKXo.       ...,dKXKKKKXKKKKXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKX
KKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXK;.     ..',cXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKOOOOOOKXXXX
0OOOOKXXXXXXK000KXXXXXXXXXXXXXXXXXXXXXXXXXXXXo.     ..,,xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0OOOOOOOOKXXX
KOOOOKXXXXKOOOOO0XXXXXXXXXXXXXXXXXXXXXXXXXXXXl..   ..',:KXXXXXXXXXKK0000XXXXXXXXXXXXXXX0OOOOOOOOKXXX
X0OO0KXXXXKOOOO0KXXXXXXXXXXXXXXXXXXXXXXXXXXX0,..  ...,:OXXXXXXXXXX0OOOOO0XXXXXXXXXXXXXKOOOOOOOOO0XXX
OOOO0KKKKKKK0OOO0KKKKKKKKKKKKKKKKKKKKKKKK0o:'..   ...'x0KKKKKKKKKK0OOOOOOKKKKKKKKKKKKKK0OOOOOOO0KKKK
OOOOO0KKKKKOOOOOOOOOOKKKKKKKKKKKKKKKKKKK0;             :KKKKKKKKKKK0OOOOO0KKKKKKKKKKKK0OOOOOOOOO0KKK
OOOOO0KKKK0OOOOOOOOOO0KKKKKKKKKKKKKKK0xc.              :k0KKKKKKKKKK0OOOOOOOOOKKKKKKK0OOOOOOOOOOOKKK
OOOOOOKKKK0OOOOOOOOOO0KKKKKKKKKKK0kl,.                   .':dOKKKKK0OOOOOOOOOO0KKKKK0OOOOOOOOOOOO0KK
OOOOOO0KKK0OOOOOOOOO00K0KKKKKK0Oc..                          ..:OKK0OOOOOOOOOOO0KKKK0OOOOOOOOOOOOO0K
OOOOO0000000OOOOOOOO0000000000x.                                ;O0OOOOOOOOOOOO000000OOOOOOOOOOOOOO0
OOOOO0000000OOOOOOOO0000000000:                                 .x0OOOOOOOOOOO0000000OOOOOOOOOOO0OOO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
              .,;;:::::::::::cll:.     ....,lx0KKKKKKKKXXXXK00Oxk0XXKOd;........,;;::;'';clooo;.    
              .,;;:::::::::::cll;.          .ckKKK00KKKXXXKKKXNXXXNNNNXx....  .;okkOOkollllooo;.    
              ..'',,,,,,;::::cll;.          .lkOkOOOkkkkO0KXNWWWWWWWWWWk. .   .;okOOkl;:lllloo;.... 
                ........,;:::cll;.    ..',cdxxdoooooddxxxxxkOKKNMMWNXXKx.        ..,;,,cdddool;.....
               .',;;,'..';:::cll:...,:odddddolllccclooooddxdddclk0KXNXKd        ....;;;lk00kdl;.....
               .,;;:;,..';:;:cll:'cooddddolccc:::;,x0OdollooolllllllxKO:       .'...,;;lk0Oxol,.....
               .,;;:::;',;;;;clcclooollcc::::;:oxllkKKK0dloolll:cllldOd,    .'.......'':xkxool,...''
              .';:::ccc:;;:;;clcododdo:,.,,,,,kOxloOKKK0xlollo.;;;cl:..     .,..,;..':;;cdddol,...',
              .,:::cccc:;::;;clclodddd;'.c:',;kOxclk0KK0koolo:'',;:lc'.     .,.'lxl'.:;:ldxolc;...',
              .;:::cccc;;::;;ccc;;dddd;;,::,;:clc;cxO00Oxooloc:;:lllc       ';''lxxcclc:loolcc,...',
             .',;;;::c:;;:;,,::,':dddxddxOOkkkxxxdxkOOOOxoolodocllooc       .'..'cc,..',;:::::,...''
             ...',,,;::,,;;,,'...:ddxkxKXXXXXXXXXXXXXXXKOoollloolclll.......;c:',cl;. .''''',;'.....
               ..................:ddxkkKKKKKKKKKKKKKKKKKkoolldkOOxoll:;;,,,,;;;'',,'..''''..........
.......................''''''',,,cddxkxOKKKKKKKKKKKKKKK0koolldOO0Odlc:;;,,,,,,,'''''''''''''''......
',,''',,,,,,,,,,,,,,,,;;;:llooooodkkkOOxxOOOOOOOOOOOOOOOxoollldxxollcllllccc;,,,,,,,,,,,,,,,,,,,''''
,,,,,,,,,;;;;;;;;;;;:::::lxxxkkkkkOkkkOOOOO0OOOOOOOOO0OOxoollllcccllcdxxkkkk:;;;;;;;;;;;;;;,,,,,,,,,
;;;;:::::::::cc:cccccccccccccccccc:,'......';:;::;:;;::::llllooddolc;,;cccc::::::::::::::::;;;;;;;;;
;;;;;;;;;::;::::ccccclclllcclclll:;,'............'',,,',:loollc:;,,,'.',cc:c::::::::::;;;::;;:;:;;;;
;:::::::c:c:cllccllllooooolllollc:;,''''........'',:ldollc;,,,,,,,,,,',,lclolcccclc::::;;::::::cc:;:
::cccccc:cccc::cccccllllloooolooc;,,''''.....',:lllc:;,,,,,,,,,,,,,,,,,:cc::::::::;;;;;;;,,,,,;;;;;;
;;;;::::::::::::::::::::::::::::::,.....,:lllc::;,,,,,,,,,,,,,,,'.....';;;:::::::::::;;;;;;;;;;;;;;;
;;,,;;,;;;;;;;;;;;;;;;;::::::::;;,,,,,,,,,,;,,,,,,,,,,,,''....    ...',;;;::;:::::::::;;;;;;;;;::;;;
;;;;;;;;;;;;:::::::;;;;;;;;;;;;;;::::;;;,,,,,'''.............',;;;;;::;;;;;:::::::::::::::::;;;;;:::
,,,;;;;;;;;;;;;;;:::::::::::c::::;;;;,,'''.........',,,,,,,,,;,,,,,,,,,,;;;::::::::::;;;;;;;;;;,,,,,
,,,,,,,,;;,,,;;;::::::;;;;;;;;;;;::;,,,,;,;,,,,,;;;;;::;;;;;;;;,,,,,,,,,;;;;;;;;;;;;;;;;;;,,,,,,,,,,
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkolloddxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddolclxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdcclddxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdoolllccccdkOkkxddxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdccccooodddodxxddxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxocllllooooolc:coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlllllcccolccccOcdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlccccllcccccccccccokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkddxkocccccccodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkxoddocccokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkxlccdkoccokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkxl::ckkdccdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkocclkkkc::okkxcclkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddxkkkkxkkkkdldxkkkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxodxxo:dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkkkkxdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx:lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
',.'''c:c:cc:c,''''.lcoocl,:,:;;;;c;,;,,;c,':cdolooxc;o::co::l:o:c:cl:lcoc:l::::clddldld:;,''',,'',;
;;,:;:c:c:c:cl;c:::;oll:olcl:olcc;l::,,l;ccc:lxdokoxld:;d:o:lc;l:o;,lc::dc::;;,:oodlxdldc;,,',;';,,;
odlxloc;c,olldoxxxxolcolllcl:dlc::l::c:c:xdoxoxdoooxclc:ocdc::;l;;:l;,l:,,;;';',loolddco:,';'.;,'','
locoldococddldxddxxdlcc:;;,:;,;,:;l:,c;c;cccooxdlcclclc:oodlooco:l:,oc;;c:,;;:;:lodldocl:c::;;:;:;;;
ll:oclloocdlxodkdkolc,c,,;,:;;;,;,l;;::l:cc:o:xoo;';:lccxodlddlxcc:;:;:,;cll:ollo:xlxc,c;c;c;,;,:;,;
,;';,;;;c:c:cc:lclccc;:,;:,;,:,,;,;,;;;c::;,'.'.....,cc:;,,',,',:l;,c;;;::;c:ddcccood:;:::;,.....',;
.'.,'.,':;c;::;c:c:;c:c;;,,:,,;;;,c;;::c::::........,lll'.'''..'':,,:;:;:;;ccdlcl:xokdldod'.....,;cl
.,.:,,;',',.'c:l:l::l:c::c,l;:cllcdcd:,:,c::,';'''.',c::,',','',',',;';,::;c:o:lccdlxdodld::;,::dloo
',','''........',:;;::c;:;,;,c:llcl:l:':'::::;::;'',';',,',','.',oolocd:,,;:;lc:c:oc;c:;,oclclocdoll
;c;c:cc:c'......'c:::,c;:;;c;ccdxoxlool:,;;::;c::dlxoxxdxo;';'.,,xdxkxxc;,';,;:cc:l;c;:c;cclcoc;lcoo
cl;l::c,o;.....;.,;;,'c''cco:ooxdldlodlc,;;;;,l,,doxodxdxc:',ccolxddxokc,;,:,;;cc;l,::;c;::c:;c;l;c:
:c,c:::;c::;;;,'';'.;'',;lcododddoolodc,':,',;,;:llxdxddxc,.,odkkdddxdkc,,',,,,c::c;c:::;;;;c;:;c:;:
';,;',,';',,,..'..'...,..;;c::::;;::::;,...'..ccckxxdooodl:..,,;;::cc;c;''.'.'.',.'.,'.;...,..,','',
.        ......  ..  ...  .        .         .kOO0K0dldkkxxd,   .. ....                            .
...  .... .. ..  ...  .      ..            .;O00O00Okkkkxddo;.                                      
...     .                       .         .O0d00O00Okxddlllc;:c:::;;;;;;;;;;;;,,,,,,''''''''''''''''
    .....  .  ..                         ;OOxclOOO0xdlclcc:co:,,,,',,,,,,;;::ccccccccccccc::cccccccc
..... ..                         ...    .lOOOxdk00xkxc;::d:,c..........',,;;::ccccc::::::ccccccccccc
..... ..                       ..     .,.o0OxkkO0OOkxd:,,;,.,.........'',,;;;;;;:::ccccccccccccccc::
..... ...      ..........................:dddO0Okxxodc:ll;... ... ....',;;;::ccclllllllccc:::;::;;;;
.....................................';:l0KK0kxxxkOxo:co:...       ....,;::ccllllccc::::::::::::;;;;
'..''.'.........................''..:d000000l':lldxo:;lc..        ....';;;::cc:c::::;;;;;;;;;::::ccc
'...........  ..... ................;O0000K0,;:;lxkd;,,,.         ....'',,,;:ccclllllllllllllllllcc:
,,'''''...............  ............;OOOOO0d;c;;kOdo,...  ......'',;;;;::::;;;;;:::cclooooollllclllo
;,''''''''''........... ........ ... ckOO00llc,cOOo;.',,..........',;:codxxxxxxxxddolccllllcc:;,;::c
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
              .      .   .   .          .   .          .   .          .   .      .   .              
            ;xxxxxxxdddddddolllllllccccccc:;;;;;;;''''''''......................                    
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            lXXXXXXXKKKKKKKOkkkkkkkdddddddolllllll;;;;;;;,,,,,,,,......................             
            ......................................                                                  
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
cccccccccccccccllllcc::cc:cllllllldldONkONO0KOxlox0X0xxlllldkdloNx0W0ONOlllllllllllllccc:;;,';;;;;;:
ccccccclllllllllllllcccccclllllllldlokNxONk0KOddK00XO00dllodkdldXd0WOONOllllllllllll:;;c::;c,:;,;;:c
lllllllllllllllloooollclcloooooooodld0NkONkOkood0OxXOONXOoodkdclXx0W0ONOooooooollooo::;cc:;:,;;;:;;:
llllllooOOdooooooooooocooooooooooooldONk0NkkxoloXOdKOkNXOdoxOdcl0x0WOONOooooloooloooc:;:l:;','',:::;
ooodddxkK0ooooooooooddllddddddddddoldONx0NkkdlldXkdXkkNXOxldkdclkxkNOxKOdoolllcc:clo:;;:l:,''.';cc:;
:c:cllldxdclodxxkkxxddddxxxddxxxxxdldOXx0NkkdolxKkdNkkNXOx:dxdclkdkKkdOdoollodddxxxxoocc:;,''.';c::;
;c:cllllc:ldxkkkoc:;,:xddddlllddodolodkdk0ollccxddokdxK0xocoxdookxxKxdkdododxxxkkkOkkkkxoc;....';,'.
;clo:okOolxkkxkOOkxxxxddoccl:::;;c;;:::ccc:;;;:dccllclllc:::lcloxkkOxoxococodxxkkkOKkkkxxol;..'.....
kddkddod:;,,''',,'.'...';,..:cc:;::cc:lddllllooollxdlodoooodxOdoldO0Odolc::cccclccoddl:;'..,,',...,'
,',;;;'l;   ...''..,,,. .:',;:ccldxxxdodc:;:xxoddolc:;::loc:c:,',;,;,,.,,.';;'........... .;;::col:c
,.cc'.lc:. .oxodooxxxd:..':;cc;;:lloolc;lo',:,,:l:::cl:::::;lo,.:xoldl.,;'..........,',::.,,'',,;c:'
,,'c,    .  ldolloxkxo:'...;kkxk:cccc;..;ldoo',;:dx:,;::kOl,;l'..';:;';xxco:.':cddc:lodd;,oo;  .. ..
:::'.   ..  .ollllddl;....;dkkkxccooc;.:d00O00kodllc'';lxOxodc..,;,,'.'lxl.  .;codlloodc..'',. ....,
o:.;c:,lo:lc''::cc;...'. .lxldkk'......l00K0OkOkxllk,,:dld0d:'....',..'cc,,  ...':llll,.';loo.......
;:ldxxlkc:oc'.......,..  ..',clxo...,ckKK00OOkkOc;:l.,ddlOx.....:,ccdOOO,':,  .....,,',''okxl..;,ccd
lxxkkc;,,;cl..,loc:..   .okkxdol:,'od00000OkOxkOd.:dl:d;xxl....'oxO0000O:',,'.   ... .'',;OOOxol,,ld
;xkdolxkkd;... .     .....'cdkO00kkcl00OxdOxxooOx.,oxd;.d,....;xxd00000Oc':,;;;,..  ':llkxdkOkOOc':c
cdxkkkd:'.....':   ...........,;clkxcoOkldxoxxxOo.lddd;.:o,c:;dkkl000O00Ol',:clodc:ckkx:..cddokko,,.
;dxo:'........c. ......';c:;.....,kdd'xOKxdlxdddc:dddo...o:.;dxkodO00kd000OOOOOOOk:oxdl'''ckkoddk;. 
cxd............ .......,lo;;.....ckdo.lxxxxdod:'.cddl..  .'.,xclckOOOx0OO000OO0OOlddkOc''',okdxxxl. 
;do:......''..........,;;,,,.....dxdx.;kkxxkc'  'ddd:..  .. ;ll;:xOkx000OkO0OOOOOollxk:.'''ooxxddl  
.ldl......'.'.................   oddd.'clkko.   .oddo.....  :cc:;d:xdxO00kkOOOOkOxolok''.''odxxdl:  
.'ld,.....';............;: ...   .'xc ,;.,dc    ;odd,...  '.ccll'dx;o:cxOOOxkkOkOOdddo.'.''okkxcl.  
 ..ll......o...............     .,do; :,..;c    lddo,...    cccxxcllc:,',cdOkxxkkOkl:'.'..'lkxo;;   
   .l......l...............   . ,lxo. l....o   .ldoddo..    ,;lxkOcdckxx:'.lOkxkOkkdo:''...ckxdl.   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxddddolcclxxxdoodkOOkkkkxlok0KKkc,.................c0NNNNNNNNNNNNNNNNNNNNNNNNNNNNN
xxxxxxxxxxxxxxxxxxxxxxddoddxkkkkOO0KKK000OkooxOxl;'....................;dXNNNNNNNNNNNXXNNNNNNNNNNNNN
xxxxxxxkkkkxxxxxxxxxxxdddxxkkkkkO00KKKKK0Oxddoo'.                       ..0NNNNNNNNNNNNNNNNNNNNNNNNN
xxxxxxkkkkkkxxxxxxxxxxdddxxkkkkkOO00KKKKOkxxxl.                          .,XNNNNNNNNNNNNNNNNNNNNNNNN
xxxxxkkkOOOkkxxxxxxxxddddxxkkkkkkOO00KKKOxd0k;,..                         .xNNNNNNNNNNNNNNNNNNNNNNNN
xxxxkkkOOOOOkkkkkkxxxddddxxkkkkkkOOO0KKKOdoOo;'.                           cNNNNNNNNNNNNNNNNNNNNNNNN
xxxxkkOOOOOOOkkkkkxxdddddxxkkkkkkkOO00KKOodkc,.                            ,XNNNNNNNNNNNNNNNNNNNNNNN
xxxxkkkkkkkkkkkkkxxxxddddxxkkkkkkkkOO0K0kokxc,.                            .KXXXNNNNNNNNNNNNNNNNNNNN
xxxxxkkkkkkkkkkkkxxxxxxdxxkkkkkkkkkkOO00ko;l;c,................'',;;;.      ,0XXXXXXNNNNNNNNNNNNNNNN
xxxxxkkkkkkkkkkkkkkkkkxxxxkkkkkkkkkkkkOOko,' od::::;,,:ool;'';;,,,',;,       cXXXXXXXXXXNNXXXXXXXXXX
xxxxxkkkkkkkkkkkkkkkkkxxxxkkkkkkkkkkkkkkxxxc.;;;'....,cdxo:,.'.......        'XXXXXXXXXXXXXXXXXXXXXX
xddxxxxkkkkkxxkkkkkkkxxxxkkOOOOOOkxxxOOOOkc;'..       ...                    'KXXXXXXXXXXXXXXXXXXXXX
ddddxxxxxxxxxxxkkkkxxk0XNNXXKdlcld:;lkOOOx:''..                              .kKKKXXXXXXXXXXXXXXXXXX
ddddxxxxxxxxxxxkKXXK00kdc:,,c:::lddddxxxddoddddddoodooooool'                  oKKKKXXXXXXXXXXXXXXXXX
ddddxxxxxxxxxxxKKxdoddl:,'.'dxxxxOOO0O0Oc...,'.'x0000000000c                  xKKKKKKKKKXXXXXKKKKKKX
dddxxxxxxxxxxxkN0lclc::;,,,,c;;;ldxdxOKKKoc.    .O0000x0000l                  kKKKKKKKKKKKKKKKKKKKKK
ddxxxkkkkxxxxxXN0occ:;;;;;;,lclk00OOkdO0Ok0o    .d000o.'k00o.                 coooodddddxkkkxxxxxxxx
dxxxkkkkkkxxxXWXxlcc::;:ccc;llllkkOkddxd:... .;dk0000Ood000o..                .;;;;;;;;;:cc:;;;;;;;;
xxxxxxxxxxxxKWN0dllcc:cccll:ccllocx000OOxdxdxO00000000xk000d.,                .;;;;;;;;;:::::::;;;::
xxxxxxxxxdd0WNX0olllclooddoo::ccc:dddddddxxxxxxkkkkkOOOOOOOk,c                .',,,,,;;;;;;;;;;;;;::
xxxxxxxxdooXNNXkollcodxkxdokOKKKKOdc;.,l'           ..... .x.,;:,.                  ...',,,,,,,,,,;;
xxxxxxxdokXxddxxl:;;:llcc::c:;,''..  .;'.           ;',:::cll;,,;,c:'.                   .',,,,,,,,,
dxxxxxxdl0NXOl,'.....coo;''..    .    ...             ..':oolc;;::lc:lc.                   ..';;,,,:
ddxxxxl;.:KX0dc::,,'cxd;...             .                   .;olcdcclool'                     ..',,c
ddxxxc.....:ddc;,'. .::;.                                   .'lcdl::cclcl;                      .',:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
.;:o,:kxkx:,::,dlcdOk..'dk0xOxc.;ocooodxkOOO000000000kkdodxkkxkkkkkOl,lodl:.'cl:;d,ok00O'...........
,,...,coxxdc::dkccclkxl;:o0Ok00x:ccddxkkOO00000KKKK00OOOxxooodddxkOxxx;.'';:;:..',x00Ok;............
O0Oxoc'.'cdxkc:dol:;''d00xO00OOocldxkk00KKKKKKKKKKKK0000OOxoolllccclcll'...';;,',::;;'..........,,'.
00000x:.......cdkxo;::,;::oxkxl:ldxkO00KKKKKKKKK0KKK00000Okdoc:,;;,',;:c.....','....................
KKKkc..;lxOxdl,.,cdxxolcdddddl:cdxkkO00KKKKKKK000K00000000kkdc;;;''..',:;...........................
0Kkl;.lx000K0o'.,,'''','',;::clokxOO000KKKKK0000OO00K000Okkxlc::,,.....,;...............,........;..
K0kd:o0KKKK0d:'oO00Odolc;;'.;ooxkkO000000KKKKK0K0dK00000Okkxxxocc,......,......,;'................,:
0Oxocl,l0KKOxcok0KKOc;;cdoc,,ldxxxkO000OkxdkkkOKkd0OOOdcc:cllll:;'.....,c,cdOO0Okxoddodk,:odoodOl'O0
0ko:'...cK0kd:;.;O0;.'..'',;..:dlc;::llccccc;,ccc::;'.':clooc,.........'.;000OdoodkO00d,.xO00Kx;.,dx
0ko'.:dx000d:.'clOOloxOkoc:xd;,...,:c:;'',;;l'.,ll'...;:;,''........''..,x0OOkdo:cdOKx:''od00d;..;ld
OOx;;0KK0k0kl'O0K0llOKKK0koll;ooc...:llccoodkd.x0k:....,;;,;;,,....''...':'.:000kO0K00xkxx0KKkoolckK
:kx;kK0o,,ldloK0c,;,l00kl;xdccldOo';;ldolxOOO:;kOx:....:ooooxo:.',:;.......'lKKKK0OkOOOxxx0000kOOdKK
ldkldKKOo,;cldKKOolodOko:,ool::dk00occoxxxdc:ok00Oo,...;:;clclddlc;'.....'';0000O000Od:,xxkkkkOlklOk
xkOOk00kdolllx0k:,;;;lkkl::xdl;loOO0K0OkkOkxdx0KK0k:...,dOOOkdc,,'''.....;';k00Oxlclo;,dk000kx:'xo0O
.'ckO0klclcc:ck0Od:,',c;'.,dol;;lolO0KKKOxOxl:oxo:;'....'ck00kd:..,'.....;'.,oocxOkxdl:clclol,,lkk00
odkkOkK0kdoloolx:..........okl::dOoO00OlxKK0000Oo;,;,'.'',:lkkd:..,'....''....;,,codxkoOOxxxoc,ll:::
oolcd;dKK000koc............;ko:;x0dkko:k0000K0000OkOxl::,';:;dkl'.'.....''........',',d000OOkxldOkxd
Odll:,:ko:'..'.........':clodx;,okdOk:kdccllooolll:;,......,ld0k:........ckkxkkxl,....,:dkOOOklO000O
lc:;;;'..............,lxkOO0Oxx::dx0OkkdOOxlclodo:::,,'..,llx0KO;.....,;okOOO000KKk;...,;c;;:;lk0000
;'...'.............':okO0000OOOOc:oO0KOo000OkkO0OOkkd:',;c:cKKOl....,,.':lllxO0000K0;......,...,lllo
...................:dO00000O000l:l:dO0do0OOOOkxkkdl:;;,cloxcKk:....l0Oc'.,,...:k0000k.oo:.....';,;:'
............':'...':dkkO000000dodddodOkO0KK0OxkOOkdcc;,lddc;0l....;;'oc.'....'.oO00Okd0KK0d........'
...........,lxd....,clxO0kxk000O0000kxxolkO0klcccc:;;,.c:'.',..';l:cclxdlccl....;:oO00000KKO'.;x:...
..........:okO00l...,:;;c:;ododkxkkO0000Oxolc:'.';'..'........,:cloxkO00kolloOx,....,lkO0000k.cKK0l.
.........'lxO0000O'..'.::loO0d:k0xlxxkOOkOOdl,'.,kOxc'........,:lldkO000o,;cd0l...;...cO00O00.xKKK0c
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
oddddddddddddddlloddolcccccccccc::::::::c::;;;:llc:::c:;;,,,,'.........'cdxxxxxxxxxxdddddddddddddddd
lddddddddddddddoooodolc::cc::c::cllclooool:;;;;;,''',,;;,;,,,'.........'cddxxxxxxxxxddddddddddddddoo
coddddddddddddooooollllccll::::::c:;;:ccllll:,',,',;:loolc::;'';;;,,,;c:ldxdxxxxxxxxddddddddddddddoo
codddoddddddddolooolc:;;:::;;:clll:;;;;;::::;'',,;ccccllll:;,',cccllllccldxxxxxxxxxxddddddxxxxxxxxdo
:ldddooooooooolclllllc:;;::cclooddoollcccc:::;;:::clllllolcc,.,ccccccc,.:dxxxxxxxxxxdooooooddddddool
:cloolc::;;;:::cclllllc::lollodxkxxxxxxxdc::;;;;;:lodddolloc,.,lllllll,.:dxkkkkkxxxxdoooooodddddooll
;,:llooolllllollllllcc:;:c:::ldxxxxxxxxdo:;,,;:llooc::cccccc,..........':dkkkkkkkkxxddddddddddolllcc
:coddddoooooooooollc:;,;:::::ldkxdddddoolc;'..',,c'.',''',;,,''''''''''':dkkkkkkkkxxxxddxxddddoolllc
oddddddooollooooolc;'..,cclooloxxddddodoc;;;;;cll' coooodo;''........;:;:dkkkkkkkkkkkkkkkkxxxdooolll
lodooooolllllllllc:,'.,;:ccloddddddddc'''.'.'',;,..:::lol'............,',;::;;;;;;;;;;::;;;;;,,,,,''
:;,,,,,,,,,,,,,,,,,,,',;:::::ccccclloc................,;'.  ..........  ,,,',,,,,;;;:::::::;;;;,,,,'
c;,,,,,,,,,,,,,,,,,,,,,,,,,'''......''........... ....;:,         ..   .;:::::::;;;;;;;;;;;,,,,,,,''
oc:,,,'''''''',,,,,,,,,,,,,,,,,,,,,,,,........... ....;;,.            .:cccccccc::;;;;;;;;;;;;;;;;;;
dooollllllllllllllllllllllllllllllllcc:;;;;;;,'.. ......'''........',;oxxxxxxxxxxollllllllllllclllcc
dddddddddddddddddddddddoddooooooodddddddddoodddo .dooooooolc. ,c:cooloddddddxkxddddddddooooooooooddd
lccccclloooooooddddddddddddddddddddddddddddddddl ,ddddddxkkk' cxxdddddddddddddddddddddddddddddddddxx
,,;,,''....',,,codddddddddddddddddddxxdxxdddddd: cddddocc:;,. .:cloddddddooodooddddddddddddddddxxxxx
lc,.',;,........coddddddddddddddddddddddddddddl..:ddd;..........'oxxcodddddddddddddddddddddddxxxxxxx
::,',;;,'''.. ..:cclodddddddddddddddddddolc:;;'..'ll;............'l:ccddddddddddddddddddddddxxxxxxxx
''.';;,'''',....;clc:cclodddddddddddddxd,;;;;;;;;;;c:odl'........,cdccoooooooddddddddddddxxxxxxxxxxx
,'',,'..........,:cllllcccclodxkO00KKkd'............,lollc,;;::ldxlodxkkxdoc;:clodddxxxxxxxxxxxxxxxx
................,cllllllllok0XXXXXXXXxo;,,,c:;,,'..'xkddoo:;::clodddk0KXXXXXK0xodddxxxxxxxxxxxxxxxxx
''.''...........':clllllll0XXXXXXXXXK0xc;;cccc::::::dddxdddkO0KKXXXXXXXXXXXXXXXxoooooodddddddddddooo
,'''.'''......  ..'',,,,,,dO0KXXXXXXXXXKKKK0OOkxddololoxk0KKXXXXXXXXXXXXXXXXKOxc;;;;;;;;;;;;;;;;;;;;
,.''..........  ...'''''',oxxkk0KXXXXXXXXXXXXXXXXXXKKKKXXXXXXXXXXXXXXXXXKOkxdxd:,,,,,,,,,,,,,,,,,,,,
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKKKXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNO00XWWWN000XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOWMMMMMMMMMMKxWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNxMMMMMMMMMMMMMXkMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0kMMMWKKKKKNMMMWdMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0kMWKKKKKKKKKXMWdMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0kMMMWKKKKKNMMMWdMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0kMMMMMMMMMMMMMWdMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0kMMMMMMMMMMMMMWdMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0OKKKKKKKKKKKKKKOKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMXNMMMNXMXWXMXNMMMMMMMMMMMMMKMMMMXMMMMMMMMMMMMMMMMWXXXXXXWMMMMMMMMMMMMMMMMMMMMMMMXMMMMMMMMMMMMMM
MMMMM0XMNKXMMNMOM0NMNXXXNMMWXXXNOMMMMOWXXXNMXMMMMNWMMX0WMMMMWKMWXXXXWMMNXXXNMMNXXXNNMOMMXXXXWMMMMMMM
MMMMM0O0OWMMMOMOM0NKXMMMX0KKMMMNdMMMMkXMMMN0X0MMN0MMMOMMMWXXXKWOWMMWON0NMMMXKKXMMMXxMOMOWMMW0XMMMMMM
MMMMM0KMWKKWMOMOM0NkXXXXXXONMMMMxMMMMkWMMMMOMKKWOMMMMKKMMMMMMOX0MMMM0XOMMMMWOOWMMMWxMOWxXXXXXNMMMMMM
MMMMMKNMMMWKNKMKMKNWKXXXKNWKXXXX0MMMMKXXXXKWMM0kWMMMMMNKXXXXKWMXXXXXXMNKXXXKWWKXXXXOMKMXXXXXKWMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKXXXXXMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------------------------------------------------------------------------------------------------
;:c;;;;,,,;cllc..'c:ooc::doolodloo:ll:lxdllloddxkkxxkxxkxxxolxdxxOkdxodxxdooooooooddodxox0x;.l:lldo,
;:cc;::;;;;;;;;,,,:;;ccco:;::c:cc;ldolooolloclc::::ccc:cc:cc:clolododllll;c:ccloodoolooo:dkd,cxdodxl
:cllc::;;,,,;;;;:::clllcodlccxd'lcclcldddolloccloollol:cc::cclclllloc;:lcc:,:llclolc;:::ll:;cl::lxOO
olccl:::;;::::;::c:;;;:cclc::oxc'looddooolllooc;colc:c:ll:lc:;;clcl:;:cc:c;,cclccl;;;::::ll::ddoxold
oo:cc::;;::ccccc::::,,,;;;cclkdcldxxkkkkkoxxdddl:l:ododxxxooddlloloc;;;::;:;;;::::',;;::,;;,',.::;kk
lcccccc;c:c:lc:lllc:::;;:;::;c:;odkkkxxxxkkkxooo:;oddxloodldkdoxxkdddolll::::;;;;;;;,:;''.....;,oolk
clccccc:cccc:c:clcc:c:,,,,,,,',,:llxkxxkxxxkkl;:c:oxxxddc:olccxkOOkdxol:;,;;cc:;::c;,.......';::oook
llccccc::c:cccccclccc;:;;,;,;;,;:::clxkxkxxxoo.,dxocko;,;';;':cxdxxxdlc:ccc:c:;,.''.....;:ccc;;,cxdo
loc::::::cc:l:::c:c;:c:cc::;;;;,;;,;c:loddoll,;c:lol,:,.. ','.,cdodll:;c:cllc;......;:,colc:;;,:ldkO
odc:;:c::;:c:ccllcll:ccc:c::;;;,';cl:c'loo:,;:lo:;::c,o:,..,c',',,colollol;,....',;cc:,':::c::,coldk
clool:;;c:::cc:ccclllccclcc;:;;c::;,,;.cll;c:ldlokdxx:dxl:',,',;:oooll;,,'','';,ll;'..';;;;:;;:ldold
oodddooll:c:ccccccllldolc:c;;::c;;,;;.:ool::ldoxkkdllolcdxl':;;::::;;,''''.,:cc;'...;cc:,;,,;,;,;ddx
ooocoddxkxoolccloccc:cclll:cc:l;;;lc; :,loodcldlolclccc:lc:;...',';;,,,'.'..'.....;c:::;;;,,,,,',:ll
dooolloodkkdllclddolllllc:clloxo:;:,, ;.odol:;;;;,;;;,clc:,..,c,:,c:'','......,,::c::c:,,'';;;'...'.
dodxxodooodddooccloddol;;;;,;cd;,;',..,:c,,.''',,.',;;;,;;';,,;:;:c,;'''...'',;,;:c:;,'',;;:;,,.'...
odddddxddddodxdc:;clodlcc;,,,:;;;;,...,oxc,,,,;:;',;;;,;,';;;;;;;;;'....,;;,:,,,.,,;;;:cccc:;,''''..
odldxooddoddxxocc:;clooc:;;;::;;;:..c,looo:;;';;:;'',;;;:;',;;;,..'...'::;;,,',,;:::c:;;:::,,'',. ..
ldddxolddddxxkoolodddlcol;,::;;::,.:ccllooo:;'''clc;;;,,::;,;:;.......',,;'',:;;;;;,;:;;;;:cc:,'''''
oxoddddxxddxxdddddxxxcc::;:c:;c;,,..llooooool:'.'lodl,;;',;;',.''',''',;,:.';;;;,;,,,,,,;;:oc;,,,,.'
lddoxkxxxxodxxdxxdxddxlcc:codoc:::;.looooooolll'..,,'''',;,...''','..',::ccc:;;;;;,,,,,,;,,;'.'''...
cddddxdolldxxxxxxxkxxkxdoooddolllll:,oddooocl:c:,:....,'.,,,''',,'.....,:;'...';:;;,,;,,,c,col;,''..
:ooododooldxoddxxkkkxxkxxxxxoodolldo;coooo;ccclol'''.o;'''.,',,'...':ccc;    .,,,'',,;,,,;;,:;,,,'..
;ccooddooododkkxdxdooxxxxxkkxxdloddooddodo'colc;:;;:;'''',:,,::.':clccc;,.  ..'',',,,',;,'c:;;,;,,''
cccdxoddoldodxddxdddxdxdxxdddooddddoxdxdoo;;:;;;,;c;;,::,,;;cc;cooolc:,,',,,,,,;,','.';,.';;;;