:::::;;;,....;;........................;......................'..:;.
:::::::::,.'..',,.......................,..........'',,,,,,,,,:,'. ........
::::::;;;'.''....,'.....''''',,,;;;;;'',;;;:cclllloddolllc::,.... .........
c::::::;;,.,,,'',,,'',:::::::::::::;;'...'',;;:;:;;;;:;;;;;;;;'.. .........
ccc::::::;,,,,''...',;::::::::::::::;,...;:::::::::::::;::;:::,... .....''''
ccc::::::;,,,,,'''.,ccccc::::::::::::,...;::::::::::::::::::::;... ..'''''''
cccccc:::;;,;,,'''',ccccccccccc:cc:::;'..,::::::::::::::::::cc;''. .''',,,,,
llcccccc::;;;;,''''':cccclclccccccccc;''.,::ccccccccccc:cccccl:''. .',,,,,,,
llccccccc:;;;;;,'''':llllllllcllllccc:''.,::cccccccccccccccccl:''. ..,,,,,,,,
lllllllccc:;;;;,,''':llllllllllllllll:,'',:cccc::;::cccccccccl:''. ..,,,;;,,;
llllllcccc:;;;;,,,',:lllllllc:,''.',:c,..':;... ...;cccccllc,,. ..,,,;;;;;
llllllcccc:;;;;,,',,:llllll:. ............ ':cclloc',. ..,,,;;;;;
lllllllccc:;;;;,,,',;lllll:.....'''.. .....,::cc;,. .:cllol',. .,,;;;;;;
llllllllccc:;;,,,,,,;llool,..,:cccc:,......,:ccc::,. 'cllol,,. .,,;;;;;;
ooolllllccc:;;;,,,,,;loool,.';:cllc;,'.....'':;,,;;,. . .;lldo,;' ..,;;;;;;:
ooollllllcc:;;;,,,,,,coool;.,,,,;:;,,,'...,,';;;:c:,.'. .:ldd,;' ..,;;;;;;:
oooolllllcc:;;;,,,,,,cooooc,;:::;;::::,...;;,:::cc:,'. .cdd;;' ..;;;;;;;:
oooololllccc;;;,,,,,,:ooooc;,:cc:::;;;,...',';::::;,. .cd,,'. ..;;;;;;;:
ooooolllllcc:;;;,,,,,:llol:,',cc::c:;;,'...'';:c:;;;''''. .;'''. ..;;;:::::
lloooolllllc:;;;,,,,,;lool;,;:cc::c:',:,...'.,,',;:cc;... ....'. ...;;;;::::
looooolllllc:;;,,'''',loc,.''',:c:,..;:,.....''.';l:'...''.. .:,.'. ...;;;;::::
oolllllllllc:;;,''.'',c:''';;,..',,'.','....'..;;;'...,;;;,,';o,.'. ...;;;;;;::
oooollllllllc;;,''...';,;:clllc,......',,'..........';,;:::;',:'... ...;;;;;;;;
oooooollllllc;;,''....,;:cloolcc,....,:cll:,........:;,:ccc:,''.... ...;;;;;;;;
oooollllllllc;;,'''..,;;:clooocc;...,:cclll:..';'..,l,,;:cc:;',.... ...;;;;;;;;
oooooolollllc:;,'''..:::clooolc:c'';:llcllc:,';c;'',c,,;::::;,..... ..;;;;;;;;
oooooooollllc:;,''...,;:clooolc::'..;colcc::;,;l:.'.,,,;;:::;,.. .. ..,;;;;:;:
oooooooollllc:;,'''..';cllooll:'''.,:ccc,';cc:,....'..,;;:::;,.. .. ..,;;;;;;;
ooooooollllllc;,,''..';clloool;,,':lol;....,:::;'.....,;:::;;'.. .. ..,;;;;;;;
ooooooollllllc:;,''..';clooolc'';clol;.... .';:::;'...',:::;,... .. ..,;;;;;;;
ooooooollllllc:;,''..';cloooc;;clolc,..... ...',;:;,'..,;:;,'..... ..,;;;;;;;
oooooooolllllc:;,''...,:looccclooc;....... .....',;::;,';:;'.... . ..,;;;;;;;
oooooooollllll:;,''...,:loclooll:'................',,;:;,;;'.... .....,;;;;;
ooooooooolllllc;''..''';cllolc:,.......''............'',,,'.... . .,,,,,
ooooooooolllllc,'....'',:ccc:,'........'...............'''...... ...,,,,,;;
odooooooooolllc;''....'',;;;,'.........'........................... ....;;,,,,;;
odoooooooolll:ccll;..''''';,''''..........c;,'.................'l:' ,:;,,,;;;
dooooooollllc::cll:',,,,,,,''''...........l:,,'....'''..';'....'c:' .;;,,;;;;
oooooooolllll::ccccokOOOOOkkkxxoc;,'..,,'..',;'.........,,......... .'',,,,,;
ooooooollllllc::;;:looollllllc:;'.....,,,'..,,................... .'',,,,,,
ooooollllllcccc:;;,,,,,,,'''''''......',,'..''........'.......... .',,,,,,,
oolllllllllccccc;;'',,,'''''''''......',;'..'........',,'........ .,,,,,,,,
llllllllllllcccc;,'''''''''''''''.....',;'......'............... .',,,,,,,
llllllllllcccccc;,'''''''''''''''.....',;,.....'''..''''''....... .',,,,,,,
lllllllllccccccc;,'..''''''''''''.....,;;,....''''..'',,,,,'..... .'',,,,,,
lllllllllllccccc;,'...'''''',;;;;;'..',;;,....'',,'..'',,,,'..... .''',,,,,
lllllllllccccccc:,'...,;:cllooolc;'..,;;:;....',,,,...',,,,'..... .''',,',,
oollllllccccccc::,,...,:clloooolc;..';;;:;....',,,,'..'',,''..... .''',,'''
llllllllcccccccc:,,...,:cllooolc:'..,;;;:;'...',,,,'...'''''..... .''''''''
lllllllllccccccc:,,'..';cllllllc;..,,;;::;'...',,,,.....'''...... ..'''''''
ollllllllllccccc:;,'...;:llllcc:,.',;;::::'....',,'..'...'''..... .''''''''
ollllllllllcccccc;,,...;:clolcc;...',;;;;;'......''';;'......... ..'''''''
llllllllllccccccc:,,...;:clolc:,.. .,;;;;;'..';;:clool:,......... ..'''''''
llllllllllcccccc::,,...,:clolc:'. .,;;;;;,..';;:odddolc;.',;;:;;.. ..'''''''
llllllllccccccc:::,'....,:lll:'. .',;;;;,'..;,;;loooolc,:oxxxol:. ..'''''''
lllllllllcccccc:::,'.......... .',;;;;,...;;;;;cllllc;:dxddolc' ..'''''''
lllllccccccccc::::,'........... .,,;;;;,...,,;;,';cc:,.;ooooll:' ....''...
ccccccccccccc:::::;'...;cc:,.. ..,,;;;;,...,,;,,... ,loollc;. ....'....
cccccccccccc::::::;''..,:ccl:. .'',,;;;,...,,,,,'.. 'llllc;. .........
ccccccccccccc:::::;,'..':cc:.. ...'',,;;;;'...',,,,... .';;,. .........
:cccccc:::::::::::;,'....... .'...'''','... ..,,,'.''. . ........
:c::::::::::::::::;''.... .cc,'........'..:lc:cclll' ........
::::::::::::::::;;;,'.........'':llc;''.....'..:odl:cc:;. . ........
;:::::::::::;;;;;;;,''....,::c:,,:lol:,.........',,,,'.'. .. ........
;::::::;;;;;;;;;;;;,''....;:clolc:;:olc:;'.............'',,;;'... .......
,:;;;::;;;;;;;;;;;;,''...;kkO0OOOxdccccclc'...........';:llcc:::;. ........
';;;;;;;;;;;;;;;;;;,'''..dOkkOOKKKOkddolllc;........':lloolc;;;,'. ........
';;;;;;;;;;;;;;,,,,,'''.;xOOOkkdk00kkxdddddc.......,lloo:;;;'..... ........
.,;;;;;;;;;;,,,,,,,,,'..;lk0K0koddodOkolol;........'dOkxd:,....... ........
.,,,;;;;,,,,,,,,,,,''',,,;:cllc:::::cc;,''''.,,',,,'',;;,'''........ ..
.,;;;,,,,,,,,,,,,,,'',,'...'''''''''''....',,,;,,;;,,,;;,,,,''...... ..