lcoodxkkkxxkOOOkxddddxkOkxdxxkxddooooooooolc::clccc::::::cloddoooodoolccloododxk
:;cloddxdoodxkkxdoolldxxdoooddolccccccclllc;;;:oo:;;;,,,,;;;;:lllloddddoooooodxk
:;cloodddoodxkkxolllloxxdoooddlcccccccclolcccllollccc:;;,',:lodddoddxxxddoooddxx
:;cllodxdoodxxkxollllodxdoololcccccc:::cclolllllc;;::;;,...:dxxxdoodxxxdoooooddx
::cloddxxoodxxkxdllllodxdollcccccccc:cccldocccclc::::;,,....:dxxddodxxxdoooooddx
::cloodxxdoodxxxdllllodxdlcc::ccccccc:cccccc::::::::;;;;,,,,,cdxdoodxxxdoooooddx
:;cllodxxdodxxxxollllodolcc::ccccccc:::cc:::::::::::::::;;;,,,;;:codxxxddoooddxk
:;cllodxdooodxxdl:::cc:::::cccccccc:::::::::::cc::cccc:::::;;,,''':oxxxdooooodk0
:;cloodxxdoodxxdl;::,..;:::c:::::::;;;::::::::::::;;;;;;;;;;;;;,,',lxxxdoooooooo
:;clloddddoodxxd:;;:,..::::::::;;;;,;::::;;;,'''............''',,,,cxxxdoooolc::
:;clooddddooddo:;;;:,.;:::;;;,,,,,,,;,,,'''''''''''''..........'',,cxxxdoocc:;;;
:;cloodxxdooodc,,,;;;,:::::;'.'''.'''''',;;;;;;::ccc:;,,,'.''',::;',lddolc:;;,,;
:;cllodddolool,,''',;;:;;,'.....''''',,,,;cldxxxkkxol:ccllccclool:,';clc:;,,,,,,
;,cllooddolloo:....',;;'......''',,',,;:coddddolclol::::clllcccclc:;;;;,,,,,,,,;
;,:cloodddooodo:;;:oxOkxl:,''',,,,,,;:oxxxkkOkkxdoc::;;:::::::clll:;;;;;,,,,,,,,
;,:ccloodolooddllcldkxdoodolc;,,,,,;;:llllllooodxxxl:;;;;;:;,;cllc;',,;;;;,,,'..
,';ccloddoooddddlclxxdokdkKX0xl:;:c:::cllxxxxkdllddoc:;;;;;;,:c:;;;'';;,'.......
,.,:lloodooloddddooxkkkkdxKNK00OkOklodxkkKkdd00ocloool::;;;,,::,,,,;,'..........
,.,:cloodooloddddxxkkOkkkOO0000000xldkOKKK0kxkxoloxxdolc;;;'',,,;;;;,........';c
,.,:cloddooloodddxkkOO0000KKK0O0KKxloxOO0000Okxxdxkkkdoc;;;'.'';;;;,'....,;:ccod
,.;cllodddolooddodkkOO0KKKKKOOO0K0xolodkO00K000OOkkkkdoc:;;,,,;;;:;;;;::clccclod
,.;ccloodollloddodkkOO0KKKK0OO0KK0kolcldk0KKKK00OOOkxdoc:;;;;;:;;;;:looollccclod
,.;cclloooolloddooxxkO00KK0OO0KKK0xooccok0KXXKK00Okxdlc::;;,,;;;;::coodollccllox
,.,:clloooolloddolodxkOOOOkOkxkkxoccccc:oO0KKK00Oxdoc:;;;;;,,;;:::cloooolcccllok
'.,:ccloooolloooolcldxxxxxkOOkxo:;,,;cllokOOOOOkxolc:;,,,;,,''''..;cllolllcllodK
'.,:cclooolllccc::;cododxxkkOOOOxxxkkkkkkxxxxxddoc;;;,,,,,,,'. ..,;:clllllookX
'.,:cclllccc::;;;;;;oodxxdddkkOO00OOkxxddollodool;,,,,,,,,''. ......'',;;::cdO
'.,:cc::::::;;;;;;;;:odxxkxl::clooollc::;,',ldooo;,,,,,,,''. ........''',,;:co
,';:::::::;;;;;;;;;;;:lddkOOxddoooolll::::cdkkdo:;,,,,,,''.. .....''..'',;:cccl
l:c::::;;;;;;;;;;;;;;,;odxkOOOOOOOOOOkdddddddol:;,,;,,,''... ......''',;:ccccccl
o:::;;,,,,,,,,;,,,,,,,,:oxxkkOOOOOkkkxddoollll:;;,,,,,''..........',;:cccccccccc
:...................,,,,;dkkOOOOOkkxxdooollllc:;,,,,,'...........',;;;;;;:::::::
' ..... ........';xkO000000OOkkxxdolc;,,,;;,'........ .........
' ..... .;l;.. .'lxkOOOOOOOkxxdoc;,,,,,'........'. ...
' ..........':x0k:.. ..';cloooolcc:;,.......... ..:OOc.. ....
'.......,:ldkO0K0x:... .....,,'...','........ :0KK0xl;'...... ..
'.,clxk0KKKKKK0kl,.....',,;;:cloddl. .',,'''''',;:::;'....;x0KXXXKOxl:;'.....
xk000K00OO00Okdc;:loddxkkO000000KKk'.......',:oxkOOkkkkxdlccdOKKXXXXXXK0Oxl,...
0000000OOOOOOOOOOOOOkkxkxxdolllccc;........ ..':ldxxxxkOOOOOOO00000KKKKKKK00kl,.
K0000000O0000OOOOOkkkxdoc,........:lllc:,'....,c,'',:ldxkOOOOOO0000000000000000x