:ccccccccccclllooollc::;;;;;::::;,.. ...
ccccccccclccclllooooolc::;;:::::;,.. ...
ccccccccllllllllloooooolccc:::::;,.. .;cll:,.
cccccclllllloooooodddddoollllcc::,.. .;xKNNNWWNOc.
lllllllloooooooooddddddddooooolcc;'.. .oKXK0KXXNNNNd.
llllllllooooddooooooddddooddoooll:,.. .o00kOOOO00KKXXl.
::ccccccllooddooooooddddddddddoolc;'. ckkxxxxxkkOO0KXx.
',,;;;::::clloooooooooooodddddddolc;.. .oxddddddxxkO0KXk.
..''',,,,;;;::ccccclllllloddxxxxxdoc,. ;dxddddddxkOO0KXk.
....''',,;;;;;:::::cccllooddxxkkxxxoc,. .oxdoodddxxkOOOKXk.
......',,;;;:::cccccllooodddxxxxxxxxoc,. ;xxdddddddxkOO0KKd.
.......',,;::cccllllooooddddddxxxxxxdo:,. .cxxddooddddxkOOOK0:
.....'',,;::ccccclllloooooddddddxxxdddl:'. .,d00kxdddddxxxxxkk00c.
.'''',,;;;::::::cclllooooooooddddxxxxdoc;. ,xKK0kdddddddxxxxkkOOc.
,,,''''''',;;;;:::ccllllloooodddddxxxxdoc,. .:OXKOxxdddodddxxxkOko, .
..........'',,;;;;:ccclllllloooodddxxkxdo;. .:k0OkxdoooooddxxkkO0O:
.........'',,,;;::::cccllloooooddxxxdl,. .cxkxxxollllloodkkOO0XXo.
........''',,;;::cccclllooooddxxxo:. .o00xoclllc:::ldxkkkO0XNx.
.........''',,;;;;;::ccccccllloool;,ckKXXX0xlcclc,,;okOOOO0KNk.
..........',,,,;;,''',:odxkkkkkk0KXNNNNNNXOollc:;cxOOO0KXNO'
.........''''....,lxOKXXXXXKKKXXXNNNNNNNNKOkxxooxO00KXXNk.
.............'cdk0KKKKKK000KKXXNNNNNNNNNNNXK00000KXXXXXd.
... .,cok00000O000000KKXNNNNNNNNNNNWWNXXXNNXXXXX0:
.:dkkOO00OOO0000OO0KXXNNNNNNNNNWWNNNXXXNNXXXXx'
.:dkkkkOOOOO00KK0OO00KXXXNNNNNNNNNWWNNXXXNXKKO:
.,coxxkkO00KKKKKK0kkO0KXXNNNNWWWWWWWNNNXKKK0K0o.
.,clodxxkO0000OOkkkOOO0KXXNNNWWWWWWWWNNNXK000Kk,
..;cllodxkkkkxxxdoodkO00KKXXNNWWWWWWWWNNNX000KO:.
.,::cloodxxdooodxxddxkO0KKXXNNNWWWWWWWNNXK00K0o.
.';:cccclodxxdoooxxdlldkkOO0KXXNNWWWWWWNNXKKK0o.
..,:ccc::cloxxxdddxxdlcldddxkO0KXNNNWWWWWNNK00o.
..',:ccc::cclodxxxxkxxdollllodxO00KKXXNNWWWNXOl.
....',;;:cc::ccclodxxxxxxddolllllodxkOO0KKXNNWWWKo.
.'...',,;::::::::ccloddddxxxxolcclloddddxkO0KXNNNWWKo.
.,'.',,,;:::::::::clooooddxkkkxl:;clllllldxkkO00KXNWNKl.
.';'..,;;;;;;:::::cclllllodxkOOxo:,',;:::clolloodxO0XNWNk,
.,:' .',;,,,;;;::::ccllc:cldxxxxdolc:;,,,:cc::::ok0KXXXNNO,
.;l, .',;;;;;;;::::cc:ccloooooddddxxoc,',;;;;cdkO000KKNXd.
. .:dc......',,;;;;::::::::::clllcldxxkOkxdl;'...,:oxkkkkOKXx.
.. .:xkl:,,,,''',;;;::::::::;;;;:ccclodkkOOOOkxo:,...;ldxxk00c
.... .:oxdlcc:;;,,;;;;;::::;;;;;,,:llllodkOOOOOOOOOkdc;,,;ldd:.
d,. .cxkdddoolccc::;:;:::::::;;;:clllodxxdxxkO0KKKKK0ko;.
Kx,. .;oxkkxxxxxxocc:;;;::::::::;;:llooooloodxxO00KKXNNXk;.
NKd' .,lkkkOOOOkxxdc;;;:::::cc:;,;:clllcccllllodxkO0KXNXk,
NNKo. ......':oxkO0OO0Ox:;;;::::::::;,,',,;:c::::::cdkKKKXNNNKl.
NNNKl. .........';:clllc;,,;;;::;;;;::;:;;,',;:ccc::lxO0KKKKXXNK;
NNNX0c. ........';:cllc:;'. ..,;;;;,,,,;:::c::;,,;:llclxkkkkkk0KXXl
NNNNN0l. .',,,,,,,;:lc:;'.. .,;:::::;;:cllll:;,''',;coxkkxddxOKO,
NNNNNNKo. .,;;;::::::;'. .,:::::;;;clllcc::,'''';:ldxddxOx:
NNNNNNNKl',,..':c:::::;,'. .,::::;;,;:ccccc;;cool:;:ldkxc.
NXNNNXNNK0KKo...'...... ,:::::;,''';:lccdxxolllokKk.
NNNNNNNNNNNNKc. .;::c:::;,..':lldkkolodxO0o.
NNNXXNNNNNNNN0c. ,::ccc::;;;'',;codooodkkl.
NNNNNNNNNNNNNNKkl:;'.. .,cllc:::::;,;:coddxxOO:
NNNNNNNNNNNNNNNNNNXKOdc. .:lllc:cc::lodddxO0XK:
NNNNNNNNNNNNNNNNNNNXX0d;. .',;:clllldkkdxxkKO,
NNNNNNNNNNNNNNNNNNXXKOo' .,coodxkkxkOx;
NNNNNNNNNNNNNNNNNNNXKOl. ..',::::,.
NNNNNNNNNNNWWWWNNNNXKOc.