,;;;;;;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;;;;:;:;;;;;:;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
;:::::::::::::::c::::::::::cccc::::::ccccc:::::::;;;;;;;;;:::::::::::::::cc:::::::::::::ccccccccccccc::::::ccc:::::cccc::::::cccc::::::cc::::::::;;;;;:::::::::,
,:::::;::::::::::ccc::::::::::cccc:ccccccc:::::;;;;;;;;;;;:::::::::;:::::cc:::::::::::::::::ccccc::::::::::::::::::::::;;;;:::cc::::::cc:::::;;;;;;:::::::::::;,
;::::;;;;:::::::::ccc:::cccccccc:::cccccc:::::;;;;;;;;;;;;;;;:;;;;::::cc::c:::::::::::::::ccccc:::::::::::::;;::::::;;;;;;;::::::::::cccc::::;;;;;:::::::::;;;;,
;:::::;;::::::::::::::::ccc:::cccc::::::::;;;;;;;,,;;;,,,,,,,;;;;;;::::::::::::::::::::::::::::::::::::::::::::;;:::::::::::::::::::::cc:::;;;;;;;;;;::::;;;;;:;
;:::::::::::::::::::::::ccc::::cc::;;;,''''''''''''........'''''''',;:::::::;::::::cc::::::::::::::::::::;::::;;;;::c::::::::::::::::::::;;;;;;;;;;;;;;;;;;;:::;
;:::::::::::::;;;;:::::::::::::::;,................ ...............',;;;;;;;::::cc::::::::::::::::::::;;;;;;;;;;::::::;:::::::::::::;;;;;;;;;;;;;;;;;;;;;:::;
;:;::::::::::;;;:::::::::::::;;;'.............. ..,'. ......'''........';;;:::::::::c:::::::::;;;;:::;;;;;;;;;;;;;:::::;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;:::::;,
;::;::::::::::::::::::::::::;'...................'cl;........................,::::::::::::::::::::::::;;;;;;;;;;;;;;;;;:::;;;;:::::;;;;;;;;;;;;;;;;;;;;;;:::::;,
;::::::::::::::::::::::::;,'......................:oo,........................',;;::::::::::::::::ccc:::;;;;;;;;;;;;;;;;:;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
,:::::::::c::::::::::::;,...... .................,cddc'................ ........';:::::::::::::::::::::;::::::;;;;::;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
;:::::::ccc::::::::::;,'.... ......,:coxkkxl:;,'''....... .....';::::::::::::::::::;:::::::::::::;;;::::;;;;:::;;;;;;:;;;;;;;;;;;;;;;;;;;;:;
;:::::::::::::::::::;'.... ...,:codxkkOOOkkxdolc;,'.. ...;::c::c::::::::::;;:::c::::::::::;;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;
;::::::::::::::::::;'. ..,:codxkkOO00000000OOkxdoc;'. .,::::::::::;::::;:::cc::::::::::;;;;:::::::::;;;;;;;;;:::::;;;;;;;;;;;;;;,
;::::::::::::::::;;'. ..,:lodxkOO0000000000000OOOOkxoc,.. .':::::;:::;:::::::::::::::::::;;;;;::::::;::;;;;;;;;;::;;;;::;;;;;;;;;;;,
;:::::::::::::;:;;'. .';lodxxkOOO0000000000000OOOkkkxxoc;. .':::::::;;;;;;:::::::::::::::;;;::::::::;;;;;;;;;;;;;;;;;;;::;;;;:::;;:,
;::::::::::::::;;,. .';codxxxkkOOO0000OOOO000OOOkkkkkxxdl:'. .';:::;;;:::::::::::::::;;;;::::::::::::;;;;;:::;;;;;::;;;::::::::::;;;,
;c::::::::::::;;,. .',:lodxxxkkkkOOO0OOOOO0000000OOOkkxxdoc,.. .,::::::::::::::::::::::;;::;;::::::::::::::::::::::::::::::::::::;;;;,
;::::::::::::;;,. .';:cloddxxkkOOOO000OOOOOO00000000Okkxxddlc,. .,;:::::::::::::::::::::;;;;;;:::::::::::::::::::::::::::::::::::;;;;,
,::::::::::::;,.. .';:clodddxkkOOO00000OOOOOOO000000OOOkkkxxdoc,.. ..';;;::::::::::::::::;;;;;;;;;;:::::::::::;;::::::::::::::::::;;;;;;,
,::::::::::::,'. ..,:cloddxxkkkOOOOOOOOOkkkkkOOOkkxdoollcclllolc;... ..,;;;;;::::::::::::;;;;;;;:;;;;::::::::::;;::::c:::::::::::::::::::;
,;;:::::::::;,. ..,:looddddoooooodddddxkkkkkkxdoc:;,,,;:clllc:cc;,. ..,;;;;;::::::::::::;;;;;;:::::::::::::::::::ccc:::::::::::::::;;::;
,;::::;;;::;,. .';cllolc::;;;,,,,;:cldxxkkkxdlc:::;::clllloolccc:;. ..;;;;;:::::;;;;;;;;;;;;;;;;:::::ccc::::::::::::::::::::::::;;;;;;,
,;;;::;;;;;;. ..,:ccccclllc:;;,,,;:clodxkOOkdollc:;,,,,,'',;clollc,. .';;::::::::;;;;;;;;;;;;;;;;;:::cc::::::c::::::::::::::::;;;;;;;;,
,;;;::;;;;;'. ..';:cccllc:;;;,,,,,;:clloxO00Oxollc;;'........':lollc. ..,;;;;;;::::;;;;;;;;:::::;;;;:::::::::c::::::::::::::::;;;;;;;;;,
,:;::;;;;;'. .';:clllc;'..'....';,;cooodO0K0kdool:cc;;;;::::cooolll;. . .';;;;;;::::;;;;;;;;;;:::;;;;;:::::::cc:::::::::cc:::::::::;::::;
,;;;:;;;;,. .;:clllc:'..,,.''':lccoxxddk0KKOkkkxdooolloooodxxxddol:. .. .';;::::::::;;;;;;;;:::::;;;;::::::::::::ccccc:::::::::::::;;;:;
;:;;;:::;. .:ccllollc::cccllllodxkkkxxk0KKOkOOOkkxxxddxxkkOkkxxdl:. .. .,;;:::;;;;;;;;;;;::::::::;;;;;:::::::::::c::::::::;;::::;;;;:;
;:::::::,. .;ccloddddoooooooddxkOOkkkxk0KK0kkOOO000000KK000Okxxdo:...... .,;;:::;;;;;;;:::::::::::;;;;;:::::::::::::::::::::::::;;;;::;
;::::::;. . .,:coddddddxxxxxkkOO00Okkkkk0KKKOkkkOO00KKKKKK00Okxxdo:'','. .';;;;;;;;;;;;;;;:::::;;;;;;;::::::::::::::::::::::;;;;;;::::;
;::::::,. ... .';cloddxxkkOOO0000000OkxdxkOKK0OkxkkkxkOO0000OOOkxxdo:,,:'. .';;;;;;;;;;;;;;:::::::;;;;;;;::::::::::::::::::::;;;;;;::::;
,;;::::'. .. ..,:coddxxkkOO000000OOkxxxddxkkkxoloxxddddxkkkkkkxddol:,''. .,;;;;;;;;;;;;:::::::c:::::::::::::::::::::;;;::::;;;::::::;
;;;:::,. ..,;:coodxxkkOOOOOOkkxdddo:;:lddl;;:loddoloddxxxddoolc:;,' ..,,;;;;;;;;;;:::::::::::::ccccc:::::::::::::::::::::::::::,
;:::::,. .....',;:clodxxxkkkkkkxdxxolc:;;cllccllloddoolllodooolccc:;'. . .',,;;;;;;;;;::::::::;;:::::ccccc:::::::::::::::::::;;;;;;,
,::;;;'. ......,,;:clooddxxxxxddddddollllllloddxxxxxdollllolllcccc::, . ..,,;;;;;;::::;;:::::::::::::ccccccccc:::::::::::::::;;;;;,
,;;;;,.. .'''',,;;:cllooddddddddddxdddooooodddooolllccclloolllllcc;. .. .',;;;;;::::::::;;;::::::::::cccccccc:::::::::::;;;;;;;;:;
,;;,;,.. .','',;;::cclloodooooooooolllloolllccccc:;,;cooddoollllc;. .. ..,;;;;::::::::;:::::::::::::ccccccccc:::::::::;;;;;;::::;
,;,,;,.. . .,:,.,;:::cccloooooolc::clooodOkxkOkxxdolc:lxxxxdoooollc;. ... .,;::::::::::::::::::::::::::cccc::::::::::;;;;;;;;:::::;
,;,,,,. . . .... .;::cccclooddool;,;clllllllccccc:,';cdxxxxxdoooolc;. ... .;::::::::::::::::::::::::::cccc::::cc:::;;;;::::::::;:;
,;;,,,.. . .. ... .':cccclllodddxxoc;,,,,;,,;;::cllclodxxxxxxdoooll:. ... .,:::::::::;;;:::::::c::::::ccc:::::::::::::::::;;;;:::;
,;;,,'. .. ... .'.. .,:cllllllodxxxxddllloodxkkkkkxxdoodxkkkxdooollc,. ... .';;;::::;:::::::::::::::::::c::::::::::;::::::;;;;::::;
,;;;,'. ... .... .;:cllllllodxxxxdoolooddddddoooooxkkkkkxdoolcc,. .. .,;;;;;;;;;::::::::::::::::::::::::::::::::::::;;:::;;,
,;;;,'. .. .... .,:clllllloddxxxxxddddddddddxxkkkOkkxxdollc;,. .. .;;;;;;:::::::::::::::::::::::::::::::::::::;;;;;;;;:;
,;;;,'. .... .... .,:cclllllodddxxkkkkkkOOOOOOOOOOOkxddoll:,,,. .. .. .,;;;;;:::::::::::::::::::::::::::::::::::;;;;;;;;:::;
,;;,,.. ..... ... ..';:ccclllloddxkkOOO00000000OOOkxdolc:;,,;;. . .... .. .,,,;;;;:::::::::::::;;;::::::::::::::;;;;;;;;;;;:::;
,;,,'. .... .. ....',::cccllooddxxkOO0000OOOkkxoolc:;,,,::;. .... .. .,;;;;;;::::::::::::::::::::::::::::;;;;;;;;;;;;::::;
,,,'.. .... .. .,'''',;::cccllooodxxkkkkkxxdolc:;;,',;:c:;. ...... .';;;;;;;;;::::::::::::::::::::::::;;;;;;;:;;;;:::::;
','...... .... . .',,,,'',,;:::cclloooodddoolc::;,,,,;:ccc;,. ....... .;::::::;;:::::::::::::::::::::::;;;;;;;:::::::::::;
''....... .... ..,,;;;,,,,,;;;::::ccccc:::;;;;,;;;::cccc;'. ....... .;::::::::::::::::::::::::::::::;;;;::;;;;;;:::;:::;
........ .... .',;::;;;;;;:::::::::::::::::::::cccccc:'.. ... ....... .,;::::::::::::::cc:::::::::::::;;;;:::;;;;::::::::;
......... .... .',;:::::;;::::ccccccccccc:::::ccccccc:,. ... ....... . .;::::::::::::;;:::::;;;:::::::::;;;;;;;;;:::::::::;
..... ... ... .',;::::::::::::cccccccccc:::ccccccc:;'. . ... ....... .;:::::::::::;;;;:::;:;;::::::;:::;::;;;;::::::::::;
.. .. . . ..,;::cccc::::::ccccccccc:::cccc::;,'... . ... ... .';;;:::::::::;;;;;;;:::::::::::::::::;;;::::::;;;;:,
.. ...',;::ccc:::::ccccccccccc:::::;,,,''... .. .... .... .,;;;::::::::;;;;;;;::::::::::::::::;;;;::::::::;:;;,
.. ....',;::::cccc:::cccccccccc:::;,,,,,,'.. .... ..... .... ..;;;;;;::::::;;;;;::::::::::::::;;:;;;;:::::::;;;:::,
..... ....'',,;:::cccccccccccccc::::;,,;;,,'.. ..... ..... .. ..',,;;;:::::;;:::::::::::::::::;;:::;::::::::::;::::,
...... ....',,;;;;;;;:::ccccccccc:::;,,;;;,'.. .... ....... .. .....',,;;;;;;;;:::;::::::::;;;;;;:::::::::::::::::;;,
...... ...'',;;::::;;;;;;:ccccc::::;,;;;,... .... ....... . ..',,,,,,,,,;;;;:;;;;;;::::::;;;:;;::::::::;;;;;;;;,
...'.. ....';;;;;;;;;;;,,,,;::ccc::;;;;,... ... ......... .. ..;ccccc::;;;;;;;;;;;;::::::::;;;:::::;;;;;;;;;;;;,
:clc,. .. ..,:c::cccccc::;;,,'',:ccccc;,..... .. ......... .. ..:lddddooollc:;;;;;;::::::::;;::::::;;;;;;;;;;;;,
loc;. .';:cclllllllllccc::;,;clcc:,..... . . ........ ...;ldxxxxxxxxdl:;;;;;;;;;::;;::::::;;;;;;;;;,;;;,
ll:. . .';::loodddodoollllllc,:l:,'',,'. . ......... .....';ldxxxkkkkkxdl:;;;;;;;;;;;:::;;;;;;;;;,,;,;;;,
lc. .'.. .',,:odddddddddooooooc;;;,,:c:,.. .. ........ .......';oxxdkkkkkkxdl:;;;;;;;;;;;;;;;;;;;;,,,;;;;;:,
:,. ..;;,.. ..',cdddxxxxxdddddddl,,;:lllc;'. .. ........... . .........cxxxkkOkkxxdol:;;;;;;;;;;;;;;,;;,,,,,;;;;;;,
'.. .';;;'.. ..':ccodxxxxxxxxdxxoc,;looolc;'. .. ....... ... ... ........;dxdxkkkkxxxdol:;;;;;;;;;;;;;;;,,,;;;,;;;;;,
....';:;,'.. ..;loolodxxxxxxxxdl;;codooc:;,.. .. ... . ..... .......,oxxxkkxxxxxddolc::;;;;;;;;;;;,;;;;;;;;;,,,,
....'''... ... .,:lodooodxxxxxxdl;;loooollc;,. . ....... . ........ . ...,oddxxxxkxxxddooc:;;;;;;;;;,,,;;;;;;;;;;;;;,
... .':loodddoodxxxxdd::oddoooolc:,.. . ..... .....''.... .,loddxkkkkxxdddolc:;;;;;;;;,;;;;;;;;;;;;;;:,
... . .;clooddxxxdddxxxo:ldxdoddlllc,.. ...... ......,;,.... .'ldxxxkkkxxxxddoolc;;;,,,,,,;;;;;;;;;;;;;;:;
......... ....,. ... .'cooodddxxxxxxxxxocoxxdddooooc,.. ......... ........,,'......',:dxxxkkkxxxxdddooc:;;,,,;,,;;;;;;;;;;;;;;:;
..'..... ....''.. .... .':loddxxxxxkkkkkkxdloxxxddddool;.. ............... ...........'......,:::oxxxxxxxxxxdddoolc;,,,,;;;;;;;;;;;;;;;:::;
......... ................. .':lddxxkkkkkkkkkkOkkdldxdddxdool:'....... ........... ................. .,clcoxxxxxxxxxxddddool:;;;;;;;;;;;;;;;;;:::;:;
... ... .......''''....... ...':odxxkkkkkOOOOOOOOOkxooddodddddol;.. ............. .. ................. .;llodxxxxxxxxxxddddoolc;,;;;;;;;;;;;;;;;::::;,
... ..'',,,,,,,''..... .. .':odxkkkOOOOOOOOOOOOOOkxoloooddxddo:,.. .......''..... ... ...................:ooddxxxxxxxxxxxdddoolc:;;;;;;,,,,;;;;:::::::;
..... ..'',,,,,,,,,,'''... .,coxkkkOOOOOOOOOOOOOOOOkkkdollodxxddl:,.... .......',,,,'. ..... .. ........ .'coddddxxxxxxxxxddddoolc::;;;;;;;;;;;:::::::::;
.......'''''','',,,''.. ..;ldkkOOOOOOOOOOOOOOOOOkkkkkkxdlcldxxddoc;'.............,;::,....... ... .. .. .,cloodddxxxxxxxddddooollc:;;;;;;;;;;::::::::::;
....''',;::::::;,.......;ldxkOOOOOOOOOOOOOOOOOOOkkkxxxkkxdlloodddol:;''',,,,,,,,,,,;::,........... .;:clloodddxxdddddddooollc:;;;;;;;;;;;;;;;:::::;
......',,;;:;,,'.....';coxkkOOOOOOOOOOOOOOOOOOOOkkkkxxkkxxxdoooooooolc:;;::cclooddoc::;..',,....... .';;;:cloodddddddddddooollc:;;;;;;;;;;;;;:::::::;
. ................,,,;codxkOOOOO00000OOOOOOOOOOOOkkkkkxxkkxxxxxddddddddddoooooodxxkkxdol,.;::;,'''.. ';,,;cclooddddddddddooollcc;;,,;;;;;;;;;:::::::;
'. ........''',,,;;:llcldxkkkOOOOO0000000000OOOOOOOkkkkkxxkkxkxxxkkxkkkkkkkkkkkkkkOOOOOkdl;coolc:;,;'.. .'',:clooodddddddddooollcc:;,,,,;;;;;;::::::::;
,'. .......'',;:::::odoodxkkOOOOO00000000000000OOOOOkkkxxxxxxxxxxkkkkkOOOOOOOOOOOO000000Okxdxxxxdlccoo;'''... ..,:clloodddddddddooollcc:;;,;;;;;;;;::::::::;
;;. ........',;:::cd0kodxkkkOOOO0000000000000000OOOOkkkxxxxxxxxxxxkkkOOOOOO0000000000000OkkxkkkkkxdxKKxo:;;,'... ..,clooodddddddddooolllcc:;;;;;;;;;;::::::::;
cc,..... ..',,;:cokXWKxxkkkOOOO00000000000000000OOOOOkkxxxxxxxxxxxkkkOOOO00000000000000OOOkkkkkkkkk0NNKOd:;;,,,'. .';clooodddddddddooollllc:;;;;;;;:::::::::::;
clc,.......';:cokKNWMW0kkkkOOOO000000KKKKK000000OOOOOkkxxxdddddxxkkkOOOO0000000000000000OOOOOOOOOO0NWWNK0xc;,,'.. .;:cloooodddddddddooollllc:;;;;:::::::::::::;
colc;'....';:lxKXXWMMMW0kkkkOOO00000KKKKKKK000000OOOOkkkxdddoddxxkkOOOOO00000KKKKKK000000OOOOOOOOOXWWWWNKKOl,......,;:cllooodddddddddoooolllc:;;:::::::::::::::;
lollc:,..';cdOXXXNWMMMMN0kkkkkOOO000KKKKKKKK00000OOOOOkkxddllodxxkkOOOO0000KKKKKKKKKK000000OOOOOOXWWWWMWNXK0d:',,'.,;:clllooodddddddddoooollc::::::::::::::::::;
lollc:,..;lx0KKXNWMWWMWMWKkkkkOOOO0000KKKKKKK0000OOOOkkxxdoccldxxkkkOOO00000KKKKKKKKKK00000OOOOOXWMWWWWWWNXXKOo::;',;:ccllloooddddddddoooollcc:::::::::::::::::;
loollc,':x00KKXXNWMWWWMWMWXOkkkOOO00000KKKK000000OOOOkkkxdoc:lddxkkkOOO000000KKKKKKKKKK0000OOO0XWWWWWWWMWNXXKK0xl:'';:cclloooodddddddddooollcc::;;:::::::::::::;
loollc,:k0KKKXXNWMMMWWWMMMWNOkkkOOOO000000000000OOOOOkkxxdo:;lddxkkkOOOO000000KKKKKKK00000OOO0NWWWWWWWWWWWNXXKK0kl,.,;:clloooodddddddddooollcc:::::::::::::::::;
looll:cx00KKXNNNWMWMMWWWMMMMWKkkkkkOOO00000000OOOOOOkkkxxdo;,cddxkkkOOOO0000000000000000OOOOKWMWWWWWMWWWWWNXXXK00kc',;:cllloooddddddddoooolllcc::::::::::::::::;
looolcdO0KXXXXNNWMWWWMMWWWMMMWN0kkkkkOOOO000OOOOOOOkkkkxxdo;'codxxkkkOOOO000000000000OOOkO0NWMWWWWWWWWWWWWNXXXKK0Ol'';:clllooooddddddooooolllcc::::::::::::::::;
loolclk0KKKXXNNWWMWWNWWMWWWWMMMWXOkxkkkOOOOOOOOOOOkkkkxxddl,':odxxkkkOOOOOOOOO00000OOOkk0XWMWWWWWWWWNWWWWWNXXXXK0Oc..,;:cllooooddddddooooollllc::::::::::::::::;
ldolcoO00KXXXXNWMWWWWNNWWWWWWWMMMWXOkxkkkOOOOOOOkkkkkxxxdoc,':oddxxkkkOOOOOOOOOOOOOkkk0XWMMWWWWWWWWNWWNNWWNXKKKK0Oc..';:clloooodddddddooooolllcc:::::::::::::::;
ldollxO0KKKKXXNWMWNNWWWNNWWWWWWWWWMWX0kxxkkkkkkkkkkkxxxddo:,';lodxxxkkkkkkOOOOOOkkkO0XWMMWWWWWWWWNNWWNNWWNNXXKK00Oo'.',:cclloooddddddddoooolllccc::;;;:::::::::;
ldolok0000KKXXNWWWNNNNWWNNWWWWWWWWWWMWNKOxxxxkkkkkxxxxddoc;,,,coddxxxxkkkkkkkkkkkO0XWWWWWWNNNWWNNNWNNNNWNNNXKKK0OOl'..,;:cllooooddddddddooollllcc::;:::::::::::,
lolclkOO0KKKKKXNNNNWNNNNWNNNNWWWWWWWWWWMNX0kxxxxxxxxdddol:;;;,:loddxxxxxxxxxxxO0KNWWWWNNNNNNNNNNNNNNNNNXNNXK0000Oko;..',:cclloooddddddddoooolllcc::::::::::::::,
lolcokOO0000KKXWNXXNNNNXNNNNNNNNWWWNNNNWWWWNKOxxxxddddolc;;::,;clodddddxxdxk0XNWWWWNNNNXNNNNXXNNNXXNNXXNNNK000OOkxl;...,;cclloooddddddddooooolllcc:::::::::::::,
col:lxkkO00000KNNNXKXXNNXXXXNNNXXNNNNNNNNNWWWWX0Oxdddooc;;:cc:,:coddddddxOKNWWWNNXXXXXNNNNXXNNXXXXXXXXNXXXK0OOOOxl:;'..';:cllooodddddddddoooollllc:::::::::::;;,
clc:cdxkOOOkOOKXXXXXKKKXXXXXXXXNNXXXXNNNNXXXNWWWWXKOdol:;:cccc;;:loddk0KXNNXXKKKKKXXXXXXXXXXXKKXXXKKXXKKXK0OOkxxd;,;'...,;:cllooooddddddooooollllc:::::::::::;;,
clc;:oxkxxkOOO0KXKKKXXK0KKXXXKKKXXXNXXXXXXXXXXXNNWWWN0xc:ccllc:;;lx0KNNXKK000KKKKKKKKKXXXXKKKKKK00KKK0KXKOkxkkdo:.',....';:cclloooodddddoooooollllc:;;::::;;;;;'
:c:;,:ddxkkkkxk0XXK00KXKK00KKXKKK0KKXXXXXKKKKKXXXXXNNWWNKOxdodkO0XXXKK000000000000KKKKK000KKK0000000KK0OOOkdddo,..''.....,;:ccllloooooooooooooolllc:;;;;;;;;;;,'
:c:;,';ldxxxxkkO00KK0000KKK0000KKKKK00KKKKKKKKKKKKKKKKXXNWWNNWNXK000OOOOOOO000000000OO00000OO00OOO000kkOkxxdoc,...'......',;:cclllloooooooooooolllcc:;;;;;;;;,,'
:::;'..'lodxxxxxO0OOO000OO00K00OO0000KK0000000000000KKKKKKXXNNNXXK00OOOOOOOOOOOOOOOOOOOOOOOOOOOO0OOkkOkkdooo:. ..........',;::ccclllllooooooooollllc::;;;;;;,,,.
;:;,'.. .'lddddxxOOOkkOOOOOOO000000OOOO000OOOOOOOOO000000000000KKXXKK00OOOOOOOOOOkkkkkkkkkkkOOOOkkkkkkxddl:,. ........''''',;::ccccllllllllloooolllcc:;;;;;,,,'.
;:;,.. .';ldddxkkkkkkkkOOOOOOOOOOOOOOkkkkxdoolllccc::::;;;;;;;::clodxkOOOOOkkkkkkkkkkkkkOkkkkkkkkkxl:,.... ..'.....'''''',;::::ccccllllllooooolllc:;;;;;,,,,'
;:;'.... .'';ccodkkkkkkkkkkkkkxxdool:,;::;..,;;;..,:;,..,;;'..',,..';;;,;:::;;;::clloddxxxxxdddol:,'..... ...'.....''''''',;::::ccccllloooddooollcc:;;;;,,,,'
;;,'...'.. ......';;;clllcclc;;;,'..'''.';;;'',:::,';::;'',;;;'.',;;'',;,'..''.'...,'..';,.'::'';,.'...... ..''......'''''',;;:::ccccloooddxxddoollc:;,,,,'','
,;,....',,,'. ............;:,.':c;.':cc,.:cc:.'col;.'loo;.,loo:.,cll,.;cc:..;:;;'.';;'.';,..''........''. ...''.......'.''''',;;:::cclodxxkkkkxxdoolc:,,,''''''
;;,.....',;;.':::;;,,,,,',,,;'.'','..,,,..';,'..,;,'.''','.',','..'.''.........'.................',,';ll,. ..'''...'''.''''''',;;::clodxkkkkkxxxxdoolc:,,''''''.
;;'... .',;,.:ooooddddddddddl'.:llllllccc::c::c:;:;,::;:::cc;..,clcclllllllllllllllll;..:cccllllooddc:cc....'''...'''''''''''',;::lodxxkkkkkxxxddoollc;,,,,,,,,'
:c;.....',;,.,loooooooodddddo'.lkkkkkkkkkkkOOOOOOOOO00000KXXx''o0KKKKK0000OOOkkkkkxxkxc';odddddddddo;;c;...'''...''''''''''''',;clodxxkkkkkxxxxdoollc:;,,,'''''.
lol:,'.',,;;';ooooooooddddddl''dkkkkkkkkkkkkkkkkkkkkkkkkkOOx;.'dkkOOOOOOOOOOOkkkkkkkkOd..lxdddddooo:;ll,...''.....'''''''''''';codxxxkkkkkxxxxxdoolcc:,,,,'''''.
oxdooc:;,,;,.;ddooooooddddddc.'dOkkkkkkkOOOOOOOOOOkkkkkkkOOo''oxxxxxxxxxxxxxxxxxxxxkkkl':dddddddddd:;l:.............''''''',,;lodxxxkkkkkkkxxxddollc:;,,,'''..'.
dkxxddolc::,.;ooooodddddddddc'ckOkkkkkkOOOOOOOOOOOOOOOOOOOk:.:xkkkkkkkkkkkkkkkkkkkkkOx,.cxxddddddddlcc,..''...'''..''''',,,,:lddxxxkkkkkkxxxxddollc:;,'''''''''.
dkxxxxxddooc:cddddooddddddxx;.,xOkkkkkkkkkOOOOOOOOOOOOOO00x,.ckOkOOOOOOOOOkkkkkkkkkOOo';dxddddddddxo::,......',''''''',,,,,:odxxxxxkkkkkkxxxddollc:;,''''''''','
dkxkxxxxxxddddddddxxxxxxxxdd:.;xOOkOOOOOOOOOOOOO0000000KKKk;;xOOOOOOOOOOOOkkOOOOOOO0Oc.:xxxxxxxxxxkdcll:,'...''''''''',,,,codxxxxkkkkkkxxxddooolc::,,'''''''',,'
oxxkkxxkkxxxxxdooooooddxxxko,,lxOOOOOO00OOO000000KKKKKKXNXd';kKKKK000000OOOOOOOOO0000d;okkkkkkkkxxdlclooc'..''''''''',,,;codxxxxkkkkkkxxxddoollcc:;,'''''''',,,'
oxxxxkkkkkkkkkxxdddddddddddo,;dO00000KKKKKKKKKKKKKK0000KKOl,lO0000000000000000000OO0Ol'lOOkkxxdddddoclooc'..',,,,,,,,,;;codxxxxxxkkkxxxddooollcc:;,''',,,,,,,'''
lddxxxxkkkkkkkkkkxxxxxkOOkkkc.cOOOOOOOO00000KKKKXXXXXNNWWXx:dKK0OO0000000OOOOOOOkkOkd,'oxdddddddxdccoxxxo,.','',,,,,,,;codxxxkkkkkkxxxdddooollcc:;''',,,,,,,,'''
codddxxxxkkkkkkkkkkkxxxxkO0x:c0NXKKKKKKKKXKKKKXXXKKXXXXNNXo.;OOxkkk0XXKKKK0000OOOOOOd;:dxxxxxxxxxxl:okkxo;',,,,,,,,;;;coxxxkkkkkkkkxxxdddoollcc:,''',,,,,,,,,,,'
:cclllooooddddxxxxddddddodd;.:OK000000000000000000000000K0o':dolllloO0OOOOOOOkkkkkkk:.;oooooddddxxxolodol;''''''',,,,;coooddddddddddooolllcc::;,...''''''''''''.