.;;;;;::::;:::;:cc:::;:::::::::::::::::;;::;',;;;.
':clcodxxxddddooododddxxddxxxdddooooooolcloolllll,
'c:clodxOOOxxxxddddxdl:;;:::clodddlcclddllddoddll,
,cllodxxxddxxkxxxdc,..........';ldoc:ldxxxxxxxxdo;
,looddxkxooodxxxd;..............,lxdoodxkxxkxdddd;
,looddxddddodxxd;...,,.''',''....,okkddxxxxxddxdd:
,oxdxxkxxkxxxxkd,...',,;;,,;;;;,..:dxxdxxxxxxdxxd:
;odxxxkkkkxdxkko'.',,::;;;:cc;,;:,:dxdodxxkkkkkdd:
;ddxxddxdddxkkxo,,;;;:clllodoo:,:ccoxddxkkkkxxddo:
;oodxodxddxkkkxdc:c:;:ldxxxdool;,:coxxkkkkkkxdddo;
,loxxxxdxkkkOkdddc:c:ccloodddolcc:cxkkxooxOkxddol;
,coddxkxxkkkOOxdo:;ldollc:clooloo;;dxdlldkkOxxxlc;
,ldxdxkkkxxxO0kxl;,:lldoc;;:cclol;.,;:cokOOkxxdcc;
;odxxxxxxdxxxOkkd:,,,clccoc:clooc'...'';lxkdoolcc;
,ldxxxxxxdddxxxddlcccllcccccccll:'..'....;odooc::;
;lloddxxdocodxdllooddoolc::cc:cc:,'.......,ldlcc:,
,loooodddc,cdolclllccclooodxo:,,;,,'......',cllcc,
,lollodxdoooc;:cllc::clolccc,.....,;'......'clccc,
,lllodxxddl,,:ccc:;;:cclc:;,'..............'coccc;
,lloddddo:',;::;::;,,;:;;,'',,.............':lccc,
,llooloo;';:loolccc:,',;;;;;:::'.....;;:::;';llcc,
,llllll;.,clddddollcc,.',,,;:::;'..':lc::ll;;clc:,
,cllloc..;ccoooddollcc:,'...,;;:::,;c:,',;cc;:c::'
'cllll,..;cclolllccccooool:'..,::,''.....';::::::'
'ccclc...';:cclcc:;;:lldkkko,..'',:,......',,;:::'
':ccl;....',:::;::;;:c::clodl,...','.........,::;'
.;ccc,......,;;:::;:cc::cccloc,..............,:::'
.;:cc,.......';:;,:cccc:clllooc'.............,::;'
.;;::'.........'..;ccc:::ccclol:'..'.........,;;;'
.,;;;'............,:::::;;;;::cc;'.'.........';;;'
.,;;;'...''''''....,;;;,'.....',;;;,.........,;:;.
...''.................'..........'............'''.