::::::::c:cccccccccccccc:...,;c::llllllllllllllllllllllllllllllllllooooooooooooo
::::::::c:cccccccccccccc;...,:c::llllllllllllllllllllllllllllllllllooooooooooooo
::::::::::::::cc:ccccccc:...,;c;:clllllllllllllllllllllllllllllllllloooooooooooo
::::::::::::::cccccccccc:...,;c;;cccclllllccclllllllllcllllllllllllllooooooooooo
::::::::::::::cccccccccc:...';:;;ccccccccccccllclccclclllllllllllllllloooooooooo
::::::::::::::cccccccccc:...',:;;cccc:c:;,'',,;;:::::::ccccccllllccllllooooooooo
:::::::::::::::cccccccccc...',;;;lcc:,........';:::::;;;;cclllllcccclllooooodddo
::::::::::::::::ccccccccc...',;;;cc,........'',:c:;,,,;,;;,:cllllcccllllooooodoo
;::::::::::::::::cccccccc...'';,;;.. ...';:cc::::c:;,,',;ccllllllllllooooooo
:::::::::::::::::ccccccc:'..''''.. ...',,,,,;;:cc;;;,,,''';ccllllllllllllllll
;::::::::::::::cccccccc;'....... ..''''.',;;::;;::;;;,,,,'';:ccllllllllllllll
;;;;::::::::::::cccc::;,,...... ....';:;;::ccccccccccc:::;,,;ccllloollcccclll
;;;::::::::::::::c::;,',,... . ..,::::ccclcccccccccccc:;,,,;:cllllllllcccc
;;;;;;;;:::::::::::,','... ..,;:::cllcccllllcccccc::;,,;clllllllllllll
;;;;;;;:::::::::;,'...... .',:cccllllllooollllccc:;;,,clllllllllllll
;;;;;;;;;;;::::;,.......... ..''. .',;:ccllllooodddooollcc::;,,clllllllllllll
;;;;;;;;;;;;;;;,'.. .. 'c:cl;...',;ccccccllodddooooolccc:;,,lllccccccccccc
;;;;;;;;;;;;;,,.... . ;lclo:,'',;:::ccccllodooooooolcccc:,;cccc:::ccccccc
,,;;;;;;;;;;,'... .. .ccol:::;::::cccclllddddollllcccc:;,;:::::ccccccccc
,,,,,;;;;;;,'.... .. .. ,cllcl:c:c:cccllooollc;,',:clc;,',,,:::::ccccccccc
............... .. .;lllc:c::::cclooolcc:..';loo:,..........'''''....
... .. .';c::c:cc::cloooolcc:;:llol:,,'.................
................,,,::c::::clloooolccloooool::;.................
..... .. ............';,;::::ccccloodolcccloooooc:;.................
. ..... ....';;;;:::cccclloolcccllooodoc;'.............. .
.. ..','';::;:::cclllllccclollllcc:;'..................
............,;'';:::'.....,::::::::ccllllllcccccc::;:;'...................
...,kOOOkkkOko;....,:clccc:ccllllloooolc:;,,'.....................
...'dO00000OOko:'''',;:lolccccllllooolllc:;,.......................
.. ...cO000000KK00xl:::;;:ccoollcc:cclloooollc:'................. .....
........lOO00000KKKKKKK0kdlclllooollc::::clooolll,.............. ...
..cOO000KKKKKKKKKKKK0Oxdolooollcccc::lOOOOO0ko,......................
'lOO00000KKKKKKKKKKKKKK0Oxooollccc:clk0KKK0000Oc.....................
.:oOOO0000000KKKKKKKKKKKKKKK00Okkdlcccck000OOOkO00O,....................
. ,okOO00000KKK0KKKKKKKKKKKKKKKKKKKK000koco00OOOOOkOOOOc....................
. .oOOO0000KKKKKKKKKKKKKKXXXKKKKKKKKKKKKKKklk0K000000000Ol........ .........
,xOOOO000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKO0KKKK0000000Od....................
.ckkOOO0000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0KKKKK0000000O;.. ..........
,dkkkO000000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK00KKKKK000000Oo. .
dxxkOO00000000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0000000OO:.
ddxkkO00000000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXKKKKK00000000k, ..
odxkkOO0000000KK000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK000000000d.. .. ..
oxxkkOOOO0000000000KKKK