;;;;;;;;;;;;;;;;;;,,,,,,''''''''.............. ...................'''',,,,;;;;;;;;::::;;;;;;;;;;;;::::::cccccllllllloooodddddxxxxddddollcc::;;;;;:::::;;,,,,;;;;;;,,,,,,''''''''''''''''......'',,,,;;;;;::::::::ccccccclllllloooooooooooooollc::;;;;;;;;;;::ccc:::::::cloddxxxxxxxdddddddddxxxxxkkxkkkkkk
;;;;:::::::;;;;;;;;,,,,,,'''''''............. ..................''',,,,,;;;;;;;;;::::;;;;;;;;;;;;::::cccccccllllllooodddddddxxxddddoollc:::;;;;;:::::;;,,,,;;;,,,,,,,,,'''.''''''''''''......',,,;;:::ccccccccccccccccccccccccccccclllllllllccc::::;;;;;,,;:ccc::::;;;;:cclloooodddddddddddxxxxxxxxxxxxxx
:::::::::::::;;;;;;;,,,,,'''................ .................''',,,,;;;;;;;;;;;::::;;;;;;;;;;;::::::cccclllooooooodddddddxxxddddooollc:::;;;;;:::::;;,,,;;;,,,,,,',,''''''''''''''''.......',,,;:cccccllllllllllllllllllcccccccc::::::::::::::;;;;;:;;;;::cc::::;,''''',,,;::ccccllloooodddddxxxxxxxxxx
::::::::::::::;;;;;;;,,,,,''................ .................''',,,,;;;;;;;;;;;;;::::;;;;;;;:::::cccccccllloooloooodddddxxxxxxddddoollc:::;;;;::::::;;;;;;;;;,,,,,,,,''''''''''''''''.......',,,;:cccccllllllllllooooooooooooollllccccc::::::;;;;;;:cc:::ccc::;;:;;,,''''...'',,,,;;;:::cccclllooodddddd
cc:::::::::::::::;;;;;;,,,,''.'............ ................''',,,,;;;;;;:::;;;;:::::::::::::::ccccccccclllooooooodddxxxxxxxxxddddoolcc:::;;;;:::::::;;;;;:;;;;,,,,,,,'''''''''''''''.......',,,;:cccccllllllllllooooooooooddoooooollllllcccc:::::clllc:::::::;;;::;;;,,,,,'''''''''',,,,;;;;;;::::ccccl
cccccccccccc::::::;;;;;;,,,''.............. ................''',,,,,;;;;;;::::::::::::::::::::::cccccccccllloooooddddxxxxxxxxxxxdddoolcc:::;;;::ccc:::;;;;:::;;;;;,,,,,'''''''''''''''......'',,,;::ccccllllllllloooooooooooooooooooooooollllllccccloolc:::::;;;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
ccclllllccccccc::::;;;;;,,,''.............. ................'''',,,,;;;;;;:::::::::::::::::::::::ccccclllclllooodddddxxxxxxxkkkxxxddoollcc:::::::cccc::;;;:::::;;;;;;;,,,''''''''''''''......',,,;:::cccclllllllooooooooooooooooooooooooooooooollccllllcc::::;;;,,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,''''''
llllllllllllccccc:::;;;;,,,,''............ ...............'''',,,,;;;;;:::::::::::::::::::::::::cccccllllloooodddddxxxxxkkkkkkkkxxddollcc:::::cccccc::::::c::::;;;;;;,,,''''''''''''''......',,,;::::cccclllloooooooooooooooooooooooooooooooolllccclllc:::::;;,,,;;;;,,,,,,'''',,,,,',,,,,,,,,,,,,'''..''
lloooooolllllccccc::::;;;;,,''............ ................'''',,,,;;;;:::::::::::c::::cc:::::::ccclllllllooooddddxxxxdddddollooooooollllccc:ccccccccc:::ccc::::::;;;;;,,,'''''''''''''......',,;;::cccccclllloooooooooooooooooooooooooooooooolllcccllcc:::::;,,,,,,,,,,,,,,''''''''''''''''''''''''''..''
looooooooollllccccc::::;;;;,,'............. ................'',,,,,,;;;::::::::::ccc::::cc::::ccccccllllllloooooolllc:;,,,,,''',;;:::::cccc:cccclllllllcccccccc:::::;;;;,,,,,,,'''''''''......',,;;::ccccccllllooooooooooooooooooooooooodoooooolllcclllc:::::;;,,,,,,,''''''''..''''''''''....''''''''...''
oooooooooooolllccccc:::;;;;,''............. ................'''',,,,;;;;:::::::::cccc:cccccc:cccccllllllllllcc:;,,'.......''''',,;;;::cccc:;;;;:::cllllcccccllllc::::;;;,,,,,,,,,,'''''''.....',,,;;:ccccccllllloooooooooooooooooodddddddddoooooollccllcc::::;;,,',,,''''''.....................'''''''....'
ooooooooooooollllcccc:::;;;,''..............................''''',,;;;;::::::::::cccccccccccccccclllllolc:,''....................''',,;;;:cccc:;;;;::lllccclloollc::::;;;,,,,,,,,,,''''''.....',,;;;:ccccclllllloooooooooodddddddddddddddddddoooollclllcc:::;;,,'''''.............................''''.....'
oooooooooooooollllccc::::;,,'...............................''''',,;;:::::::cc:::cccccccccccccccclllc:,'.................',,'',,,,,,,;;;,,',;clc::;,;:ccllloooolcc:::::;;,,,,,,,,,,''''''....',,;;;::ccccclllllooooooodddddddddddddddddddddddoooollcllccc:::;;,,''''''.....................................'
oddooooddoooooolllcccc:::;,,'..............................''''',,;;;::::::ccccc:cccccccccccclllc:,'.... ...............',,,;;;;;;;;;;;,;;,,,;:::;;;,,:looooooolccccc::;;,,,,,,,,,,'''''....',;;;;:cccccllllloooooooodddddddddddddddddddoooddooolccllcc:::;;,,,''''''''''''.......................''''.....
oddddddddddooooollllcccc:;,''.............................''',,,,;;;::::::ccccccccccccccccccc:;,.. .. ............ . . ....''',,,,,;,,,',;;;,,,,;;;,,:loodooolllllll:;;;;;;;;;,,,,''''...'',,,;::cccccllllloooooooodddddddddddddddddddoooddoollcclccc:::;;,,''''''''''''..............'''''......'''''...
oddddddddddddoooollllccc::,'.............................''',,,,;;;::::ccccccccccccccccccc:;'................. ...............,;;;:::cc::;;;:,'''';;,,:lodddoollloolc::;;;::;;;;;,,''....',,,;;:cclllllllloooooooooodddddddddddddddddooooodoolcccccc::::;;,,'''''''''''...............''''''''''''''''''.
ddddddddddddddooooollllcc:,'.............................'',,,,;;;::::cccccccccccccclcccc;... ............. ...',;;;;:cclldddxkkkOOkkkxdo:,''.'',',loddddoooooolcc:::::::;;;;,,,'....',,;;::clllllllloooooooooooddddooooodddddddoooooooollcclccc:::;;;,,'''''''''''...............'''''''''''''''''''
xxxxxxddddddddddoooollllc:,'.............................'',,,;;;::::ccccccccccccclllll:'. ...... ....',:coodxxkkO000000KKXKXXXXXXK0kxoc;'''',loddddddddoolllcccc::::::;;,,''..',,;;::clllllllloooooooooooddddooooooodddddoooooooollcccccc:::;;;,,,,,''',,,,''''............''''''''''''''''''''
xxxxxxxxxxxdddddddooolllc;'..............................'',,;;;;::::cccllcccllllclllc;. ...........';:clodxxkOO000KKXXXXXXNNNXXNNNNXXXKK0kdoc;,;:lloooodddoolllccccc:::::;;,''.'',;;::clllooollooooooddooddddddooooooooodddoooooooollccccc:::;;;,,''''''',,,,,''''''''.......''',,'''''''''''''''
xxxxxxxxxxxxdddddddoooolc;'.............................'',,,;;;;;:::ccllllcccccllcl:.. .. .........';:;;::llodxkO00KKKKXXNNNNNNNNNNNNNNNNXXXXXKK0xl;,,,;cclloddoollllllcccc::::;,''',,;;::cllooooooooooodddddddddddooooooooooodooooooollcccccc::;;,,,''''''''.''''',,,,'''''....'''''''''''''...'....
xxxxxxxxxxxxdddddddoooll:,..............................'',,,;;;;::::ccllllccccllcl;. .. ..,;,,,;:;;:cccllodxkO00KKXXXXNNNNNNNNNNNNNNNNNNNNXXXXXK0xc''',:ooodooooooollcccccc::;,''',;;::clloooooooooooddddddddddddoooooooooooooooooollcc:ccc::;;,,,,'''''''.....'',,,,''''''''''''''''''''''...''...
xxxxxxxxxxdddddddddooolc;'.............................''',,;;;;::::cclllllccccccc,. . .';,,::c:;,';cllllodxkOO0KKKXXXNNNNNNNNNNNNNNNNNNNNNNXXXXKKOl,'..,loddddooooolcccccc::;,''',;:cclloooodddddddddddddddddddddooooooooooooooooolcc::cc::;;;,,,,,,,,,''....''',,,,,,'''..''.......''''''''''''''
dddddxxxxddddddddoooolc:,'.............................'',,,;;;::::ccclllllcclll:. .. .....';:llc;'';cllloodxkOO00KKXXXNNNNNNNNNNNWWWWWNNNNNNNNNXXXK0o'...';ldddddddoolllllcc:;,'',;:ccllooddddddddddddddddddddddddoooooooooooooollllc:::cc:;;;,,,,,''''''.....',,'',,,,''''''''''''......''''''''''
dddddddddddddddddoooolc;'..............................'',,;;;;:::ccllllllclllc;. .. ......',,;:clc;..,coooodxxkkkO00KKXXNNNNWWWWWWWWWWWWWWWWNNNNNNXXXKOl.....;odxdddddoolllllc:;,,,;:cllloodddddddddddddxxxxxxxxxdddoooooooooooooolllc:::::::;;,,,,,'''''.......''''''',,,''''',,,,,,'''''''''''',,''
dddddddddddddddddooool:,'.............................'',,;;;;::ccclllllllllll,. .. ........';;cllc,..';clodddxxxkOO000KXNNNWWWWWWWMMMMMMWWWWWWWWNNNXXK0k;....,:oxxxxxddddooolc:;,,;:cllllodddddxxddddddxxxxxxxxxxxdddoooooooooooollllc:;:::::;,,,,,,,'''........''''''''''''',,,,,,,,,,,'',,,,,,,,,,,
ddddddddddddddooooollc:,..............................'',,;;;;:cccllllloololl;. ....... ...,;:ccc:;''',:lodxxxkkkkkO0KKKXXNNNWWWWMMMMMMWWWWWWWWWWNNNXXK0o'....;lxxxxxxdddddool:;,,;cclllooddddxxxxxddddxxxxxxxxxxdddddddooooooolllllcc:::::;;;,,,,,,,'''........''''''''''',,,,,,,,,,,,,,,,,,,,,,,;;;
xxxdddddddddddooooollc;'.............................'',,,;;;::ccllloooooollc. .. . .....',;;;;;,',,;:codddxkOOOOO0KKXXNXNNNWWWWWWWMMWWWWWWWWNNNNXXXK0O:....,cdkxxxxxxxxddolc:;;:cclllodddddxxxxxddddxxxxxdxxxxxdddddddoooooollllcc::::::;;;,,,,,,,''................''''''''''',,,,,,,,,,,,,,,,,,,
xxxxxdxxddddddooooollc;'............................''',,;;;;:cclllooooooool; .......'',''';:;;;:ldxxxkOO0000KXXXNNXXNWWWWWWNWWWWWWWWWWNNNNNXXXK00o'...'cdxkxxxxxxxddolc:;;:ccllooddddddxdxxddddxxxddddxxxxxddddddoooooolllcc::;;;:;;;,,,,,,,,,'...........................'''',,''''',,,,,,,,
odddddddddddddooooolc:,.............................'',,;;;;::ccllooooooooll, ........''.....';::;:ldxkkOOOO000KKKXXXXNNWWWWWWWNNWWWWWWWWNNNNNXXKK00k:....:xkkkkxkkkxxddoc:::cllloooddddddxdxxdddxxxdddddxxxxxxddddddooooolllcc:;;;;;;;,,,,,,,,'''...............................''''''''''',,,,
::::ccclllloooooooolc;'.............................'',,;;;::cclllooooooooll, .................,;::;:ldkOOOOO0KKKKKXXXXXNNWWWWWWWWWWWWWNNNNNNNNNXXKKK0Oo;'..;dOOkkkkkkkxxdolc::cllooooddddddxxddddxxxxdddxxxxxxxdddddddooooolllcc:;;;;;;,,,,,,,,''''..................................''''''''''''
;;;;,,,,,,;;;;;;::::;'..............................'',,;;;::cclloooooooooll, ...............''',;;;;:cokOOOOOO000KKKKXXNNNNNWWWWWWNNWWWWWNNNNNNNXXXXKKKOdc;,.,okOOOkkkkkxxdolccccllloodddddddxxddddxxxxxxxxxxxxxddddddddddooolllc::;;:;;;,,,,,;,,'''...................................''...'''''''
cccc::::;;;,,,,,,''................................'',,,;;::cclllooooooooooo; ................',,,;;,'';oxkkO00OOO00K0KKKXXXNNNNNNNNNNNNWWWWNNNNNNNNXXXXKKOd:;,,'cxOOOkkkkkkxdolccclllloodddddddddddddxxxxxxxxxxxdddddddddddddoolllcc:;;::;;,,,,,,,,'''.............................'''''''''..'''''''
ccllcccccccc::::;,... ..............'',,;;;::cclllooooooooooo:. ..... .........';ccc:,''.;lddxxxddxkkOOOO0KXXXNNNNNWNNWWWNWWWWNNNNNNNNNXXXKKOo;,',,ckOOOOkkkkkxdollllllloooddddddddddddxxxxxxxxxxdddddddddddddddooollc:;;;:;;;,,,,,,,'''.................................'''''''''''''''
;;::::::::::::::;,...... .............'',,,;;:::cllloooooooodddo:. .......,,:odo:'...';cllc:::::cllodxkkO0XXKKXNNNNWWWWNNNNNNNNNNNNXXXKKOl;'.',:k0OOOOOOOkxdoollllllooddddddddddddxxxxxxxxxxxdddddddddddddddooolc::;;:::;;,,,,,,,'''........................................''''''''
lcccc::;;;,,,,,,'......... .............'',,,;;::ccllooooddddddddol' ......',:coxo;'...'.,:c::::;,,'',,;:cldxOO00KXNNNNXXXXXXXXXXXXXXXXKKKkc'...,lO0OOO00OOkxdoolllllooodddddddddddxxxxxxxxxxxdddddddddddddddoooolc:;;;:::;;,,,,,,,,'.........................................'''''',,
dddddooollccc:,... ..............',,,;;;:ccclloooddddddddddo, .. ......',:ll;'..',',clddddddxxdol:;'',;codkO00KKKKKK0OkkdooodxkkkxO0Oc'..';d00O0000OOkxdoollloooodddddddddxxxxxxxdddxxxddddddddddddddddoooolc:;;:::;;;,,,;;,,,'..........................................'''',,,
ooddoooooooool;'...... .............'',,,;;::ccllooodddddddxxddd:.........''..',;,'',;::;;;,''',;:::c:;',,;:clloool'..'':oodkOOkxxkdolllc:;;:cclodxkl'..,:x00O0000OOkxdollooooodddxxxdddxxxxxxxxdddddddddddoooddddddddoooll:;;;:::;;;,;;;;,,,'......................................''..'''',,,
lllllloooooolc;'........... .............'',,;;;::ccllooddddddxxxxxxxc... .'',;cll:,;::clc;,'',;::clodl:cooollc::;:l:....,lxOKKK0xddoodxkkxxddoodxdddc;',:ok0OO0000OOkxdooooooddddxxxxdxxxxxxxxxdddddddddooooooooooooddooolc:;;:::::;;;;;;;,,,'......................................'''''''',,;
cclllllllllllc;'............ ..............'',,;;;::clllodddddddxxxxxxko. ..,:col;,;clllc,....;loodxkOdoodkO00Okxxxd:..,;:oxk0KX0xoc;;;;:ccodxxO0kooc:::dkO0OO0000OOkdooooodddddxxxxxxxxxxxxxxxdddddddddddoooooddoooooooolc:;::c:::;;;;:;;;,,''...........''''''''''''''''...........'''',,,,;;
::::cccccclllc:,............ ..............'',,;;;;:clllooddddddxxxxxxxxd' ..';:;,''';:;;'..',:clodxkOOkxdddxkkkkxdooc:::cloxOKKK0kxdoooollllcco0Odlcook0000000000OOkdoloodddddxxxxxxddddxdxxxdddddddddddoooooooooooooooolc:::cc:::;;::::;;;;,,'''''''..'''''''''','''''''''''.......'''',,,,;;
;;;;;;;;;:::c:;'........... ..............'',,;;;::cllloddddxxxxxxxxxxkd'. ....... ...............,::clodxxkOOOOOOOOOkkxdoodxxdddddxO0KKK0OkxxOKKKXXKOxkkxllod00000000000Okxdoloooddddxxxxxxxxddddxxdddddddddooooooooooooooooooolc::cccc:::::::::::;;;;,,,,''''''''''''',,,,,''',,,,,'......''',,,,,;;
:::::;;;;;;;;;,'.......... ...............'',;;:::cclloddxxxxxxxxxxxxxkd,. ..... ..............,;coddddxxkkkkO00000Okxolllolcloddxk0KKKXK0OOkkkO0KK00OOkdocd00000000000Okxdoloooodddxxxxxxxxddddddddddddddddooooooooooooooooolcc:cclcccc:cccccc::;;;;;;;;,,,,,''''''''',,,,,,,,;;;,'.....''',,,,;;;;
lllllllllllccc:,......... ..............'',,;:::cclllodddxxxxxxxxxxxkkk:. ... ...............';clllloddddxkO00000Okxlccodoc:clodxO0KKK000KKKKKKXXXXKKKOdokK0000000K00Okddoooooodddxxxxxxxxddddddddddddddddddoooooooooddddoolc::clllcccccllccc::,,,,,,,,,,,,''''''.''',,,;;;;;;;;;,....'''',,,,,;;;
ooooodddddddddl:,......... ..............',,;;:::cclloodxxxxxxxxxxxxkkkkd' .. ................,,';:cccclodxkkOkxdooc,,cdxddlllodxO0KK00KKKKKKKKXXXXXXK0OO000000000K0Okxdolllooodddxxxxxxxddddddddddddddddddddodddddddddddoolc::clllllcclllllc:;'..'.'''......'''....'',,,;;;;;;,,'....',,,,,,,;;;;
ooodddddddddxdo:'.......... ...............',,;::::cclloddxxxxxxxxxxxkkkkkkl.... ...........'..''..,;:ccclodddddolll:...';;::;;:codk0000000KXXXXNNNNNNXX00000000000000Okxdlc:::ccloodddxxxxdddddddddddddddddddddddddddddddddolc:cllllllclloollc:;''.'..'''..............'''',,,,,,,'....',,,;;;;;;;;
ooddddddddxxxdl;'........... ...............'',;::::ccllloddxxxxxxxxxxxkkkkOOx;....''.............''''...,,;::cloooolloodl' ......;codxxxkkod0XXNNNNNXXXXK000000OO00000Okxoc;,,,,;;;:::ccllllloooooooddddddddddddddddddddddddolcccloolllllooollc:;,''''''''''''''''..........''''',,,'''',,,,;;;;;;;;
dddddddddxxxxdc,..............................',,;::::clllooddddxxxxxxxxxkkkkkkko'....''.............''...''',;:clollllllllc;'.. ...',;:coxOo;lk00XXXNXXXXK00000OOOO000Okxdoc::;;;:::::;;;;;;,,;;;::::ccllloooooddddddxxxxxxddolccloooollloooollc:,,,,,,,,,,,,,,,,,''',,,,,,'''',,,,,,,,,,;;;;;;;:;;;;
ddddddddxxxxdo:'..............................',;;:::cccllodddddxxxxxxxxxkkkkOOkkc......''................''',;clllccccccccccc:;,.. ..';:ldO0KOl;cdxO0KXXKKK00000OOOOOO0OOkxdlccccclllllllccc::;;,,,,,'',,,,;;;:::ccllooddxxxxxxdooooddoooloooooolc:,,,,'',,,,,,,,''''',,,,,,,,,,,,,,;;;;;;;;;;;;;::;;;;
dddddddxxdxxdl;............. ................',,;;:::cccllooddddxxxxxxxxkkkkkOOOkx, ....... ...........,,'',;cllcc:::::::ccllccccc:,'',:ldxkOOO0OOk:;:okO0KK0000O00OOOkkkOOOkxdoc:;::ccllooooooollccccc:::;;;;,,,,,,,,;;;;::ccclloollloddddooooddooolc;,''''''''',,''''''',,,,,,,,,;;;;;;:::::::::::::::;;;
ddddxxxxxxxdoc,............. ................',;;;:::ccllooodddddxxxxxxkkkkkkOOOOko. ... ...........,,.';:loolc;',,',;;:cccccloxxxddxxkkkOOOOOkko;,:dkO00O00OOOOOOkkkkkkkxdolc;,',,,;;;;::ccclcclllllllllccc:::ccccc::::::::::::;;;codxxdoodddooolc;,''''''''''''',,''',,,,,,,;;;:::::::::ccc::::::::::c
xxxxxxxxxxxdo:'.............................'',;;;;::ccloooddddddxxxxxxkkkkkOOOOkkxl. .. ..... ....','.':lddolc,........'',,,:ldkOkxxxxkkkkOkkkko:,:okO00O00OOOOkkkxxxxxxddolc:::::::;;,,,,,,,,,;;::::cccccllllooooddddddddddddoolclodxxxdddxddool:;,,,,,,,,,,,,,,,,,''',,;;;;;;;;::::::::::cc::::cc:::c
xxxxxxxxxxxdl;'............ ................',,;;;;::cllooooddddddxxxxxkkkkkOOOOkkkkl. .. ..........;;..,coxdooc.......';,;:::cooloxdoooodxxxxxxxo:,:okO0000Okkkkkxxxdddddoolccclloooollllccc::;;;;;;;;;;;;;;;:::ccloodddxxkkkOOOOOkkkkkkxdxxxxddol:,,,,,,,,,,,,,;;;;,,,,,,;;;;;;;;;;;:::::::::::::ccc:::
xxxxxxxxxxxoc,............. ...............'',,;;;::ccllooooddddddxxxxxkkkkkOOOOOOOOx:. ..............':;..;oddddxd'.'''c::xdoOOk0XXOOKKOkdc;;coddoooc;cdkO0KKOkkkkxxxdddddoollccccllooooooooooooooloooolllccc::::;;;:::cclllooddxkkkOOOOOkkxxxkkxxxdoc;,,,,,,,,,,,,,,;;;;,,,,,,;;;;;;;;;:::::;;;;;:::cccccc
xxxkkxxxxxxo:'.............................'',,;;;::cclooooodddddxxxxxxxkkkkOOOOOOOkkd;........... ..,c;..:dkxdoodc....,'';:;cllx0OkOXXXXK0o..,locoollokkO0K0Okkxxxddooooollcc::::ccllloooooooooooooddddddddddddddddddddddddddddxxxxxxxxxdddxkkkkxxxolcc::;;;;;:::::;;;;;;;;;;;,,;;;::::ccccc:::::::ccclllc
kkkkkkkkkxdl;..............................'',,;;;::clllloooddddxxxxxxxxkkkkkOOOOOOkdlc'........ .,l;..:dkxddoloc. ....';;codxl..;xdlooddxkkOKKOkxxxxdoolllllcc::::;:::cccllloooooloooooodddddxxxxxkkkkkOOOOO0000000KK000OOkkkkkOOOkkkxdooollcccccclllccc:::::::::;;;;:::::ccccccccllloooooooo
kkkkkkkkkxdc,..............................'',,,;;::cllllloddddddxxxxxxkkkkkkkOOOOOOkdc:'....... .,l:..:dkkxxdlcol,. . . .. ....,lOOdodxkOkkO0K0kxxxddoollccc:::;;;;;;;:::ccccllllllllooooooddddxxxxkkkkkOOOOO000KKKKXXKKKKKKKKK000OOOOkxdooollllooooollllcccccccccc::::::::::ccccccllloooooddd
kkkkkkkkkxo:'.............................'''',;;;:ccllllooddddddxxxxxxkkkkkkOOOOOO00OOOo....... .'ll..,oxkkxdol:col;'',;;,',::cl:'.....:x00kddxOOkkk0K0kxxxdoollcc:::;;;;;,,;;;;;;::::::::::cclllloooodddxxxkkkkOOOOOOOO000000000000000KK00000Okxddoollloooooooollllllccllllccccccccccccccccccclllooood
kkkkkkkkxdl;..............................''',,;;;:ccllllooddddddxxxxxxkkkkkkOOOOOOOOOOOx,.... .:o, .cxkkkdoolccloooddxxddxkOkxkx:,cdO000OkkOOkkkO00kxxxdollcc:::;;;,;;;;;;;:::::::;;;;;;;;::::cccllloooddxxxkkkkkkOOOOOOOOOOOOkkkkkOO000000Okxddoollllooolllllooolllllllllllllllllllcccccccccllllooo
kkkkkkkkxoc,..............................'',,;;;::clllloodddddddxxxxkkkkkkkkOOOOOOOOOOOk;.... . .'lc..;oxkkdooccclllodxkOO000K0OOOkkO0000OOOO0OkkO00kxxxdolcc:::;;;,,,,,;::cccccccccccccc:::::::::::cccclllooodddxxxxxxxxxxxxxkkkkkxkkO000OOOkddoooollccclcccccclllllllclllllllooooooolllllllllllllooo
kkkkkkkkxo:'.............................''',;;;:::clllloodddddddxxxxxkkkkOOOOOOO0OOOOOOOc.... ... .:l' .cdxkxolc::ccloodxkO0KKKKK000O000000O00OOO00Okddddolcc:;;;;,,,''',:cllllllllllllloolllclllllllllllloooooooooooooooooodddxxkkkOOOKKK0Okkxdooooolllllllccccccccccccccllllllooooooooooolllllloooooo
Okkkkkkxdc,..............................'',,;;;::cllllooodddddddxxxkkkkkOOOOOO00OOOOOOOOc..... ... .c;..,ldxxdlcc:::clddxxxkOOOOOO00000K000000O000Oxoooollcc::;;;,,,'''',;clllllllllllooooooooooddddddxxxxxxxxxxddddoooodddddddxkOO0OO0KXK0Okkxdddoooooollllllllcccccccccllccccclllloooollllllllooooood
Okkkkkkxl;'.............................'',,,;;::ccllooooodddddddxxxkkkkOOOOOOOOOOOOkkkOkc..... . .,:. .:loxxdolccccloodxxkOkkkkOOO000000KK0O00kxdolllllccc:;;;,,,,''''';cllcccllllloooddoooodddddxxxxxkkkkkkkOOkkkkxxddxxxxxkkO00000KXXK0OOkkxxxxddddoooooooolllllccclllllllllllooooolllllllloooooodd
kkkkkkxdc,..............................'',,;;;::cclloooooddxxxxxxxxkkkkkkOOOOO0OOOkkkkkk:..... ...;,..';cldxddoollodddxkkOOOOkkkOO0000KK0000koollccccccc:;;;;,,,'''''';ccccccccllloooddddddddddxxxxkkkkkkOOOOOOOOOkkxxxxxxxkOO00000KXXK0OOkkxxxxxxxdddoooooooooooooooooooooooooodddddooddddddddddddx
kkkkkkxo:,.............................'',,,;;::ccllooooodddxxxxxxxxkkkkkkkOOOOOOOOkkkkkk:...... .. .;. ..;:codxxddddxxxxkkOOkOOOO00000KKK000xollllccccc:::;;;;;,,'''''';:ccccccclllooddddddddddxxxxkkkkkkkOOOOOOO00OOOkkxxxkkOO0000KXXXK0OOkkkxxxxxxxdddoooddoooodddxxxddddddddddddxxxddddxxxxxxxxxxk
kkkkkkxl;'............................''',,;;::ccclloooodddxxxxxxxxxxkkkkkOOOOOOOOkkkkkOx;........ .... ..,;:loddxxxxkOOOO00OOOO00000000000xolllllccccc::;;;;;;,,,'''',;:cc::ccclloooddddddddxxxxxkkkkkkkkOOOOOOO00000OOkxxkOO00000KXXK00OOkkkkxxxxxxxddddxxxdooodddxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxkk
kkkkkxdc,.............................''',,,;::cccllooooddxxxxxxxkkkkkkkkkOOOOOOOOOOkkOkd,....... . .',;cllooddkO0KKKK00OOO000000OO0xllllllcc:::::;;;;;;;,,,,''',;::ccccllloodddddddxxxxxxxxkkkkkkkkOOOOOOO00000OkxxkOO000000KXKK000Okkkkkkkkkxxxxxxxxxdddddddxxxxxxxxkkkkkkkkxxxxxxxxxxkkkkkkk
kkkkkxo:,.............................'',,,;;::cclloooooddxxxxxxxkkxxkkkkOOOOOOOOOOOOxlll,..... ..',;:clooxkO000000OOO000OOkkxoccccllc:::::;;;;;;,,,,,,,,',,;::ccclllooddxxxxxxxxxxxxkkkkkkkkkkOOOOOOO0000OOkxxkO000000KXXXKK00OkxxxkkkkkkkkkkkxddddxxxdxxxkkkkkkOOOOOOOkkxxxxxxxxkkkkkkkk
kkkkkdl;'.............................',,,;;:::cllooolooddxxxxxxxkxxxxkkkOOOOOOOOOOxc..,o:..... ..',,:cloddxkkOkkkOOkkkxxdxc..';:ccc::;;;;,;;;,,,;,,,,,',,;:ccllllooddxxxxxxxkkkkkkkkkkkkkkkOOOOOOOOO00OOkxxxkO000000KXXKKK0OkxxxxkkOOO000OOOkxdxkkkkxxkkkkkkkkOOOOOOkkkxxxxxxkkOOOOkkkO
kkkkxdc,.............................',,,;;:::cclooooloddxxxxxxxxkxxxkkkkOOOOOOOOxc. .;ll;... ... ...',:ccllllooddddddoddx0o.....,;;;:;;;,,,,,,,,;,,,,'',;:ccllllooddxxkkkkkkkkkOOkkkkkkkkkOOOOOOOOOOOOOkxxxxO0000000KXXKKK00OkxxkkOOOOOOOOOOkxxkO00000OOOkkkkkkkkkkkkkxxxkkkkkkOOOOOOOO
kkkkxo:'............................'',;;;:::ccllooooodddxxxxxxxxxxkkkkkkkkkkkkxl' .:cll;... .... ..............',,,,,;;;::clodxxONk. ......',;;;,,,,,,,,,,,,,'',;:cclllooddxxxkkkkkkOOOOOOOOkkkkOOOOOOOOOOOOOOOkxxxkO000000KXXXKKK00OOOOOOOOOOOOOOOkkxkkO000KKKK000OOOOkkkkkkkkkkkkkkkkOOOOO000
xxxxdl;'............................',,;;::::ccllooodddxxxxxxxxxxxxxkkkkxxkkkdc. .;c::cl:....... ..................'',;coxxkxOXWXd,.........',,,,,,,,,,,,,'',,:cccllooodxxxkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkkxxxkO00000KKXXKKKK00OOO0000000000000OOOOO00000000000OOOkkkkOOOOOOO00000OOO00000
xxxxoc,............................'',;;::ccccllooodddxxxxxxxxxxxxxxxxxxxxxo;. 'ccc::ccc;...... .........'..';cldxkxxxONWWWWXx;..........'',,,,,,,,,'',;:cclllooddxxkkkOOOOOO000000OOOOOOOOOOOOOOOOOOOkxxdxkO00000KXXXKKKKK0000000000KKKKKKKKK000KKKK000000000OOkkkOOOOOO000KKK00000KKK
xxxdo:'............................',,;;::ccccllooooddxxxxxxxxxxxxxxdxxxdc'. .,c::::;:cc:,... . ...',coxkxxxxxkKWWWWWWMWKo,...........',,,,,,,,',;:ccllloodxxkkkOOOOO00000000000000000000OOOOOOOOkxxkOO00000KXXXKKKXXKKK00KKKKKKKKKKKKXKKKKKKKKKKKKKK0000OOOOOO000000000000000KKK
xxxdl;'...........................'',;;:::cccllooooodddxxddddddddddddol;.. .;:::::;;;;::;'.. .. ... ...,;:coddxddddxxkKNWMMWWWWMMMNOdc'...........',,,,,,,:cllllooddxkkkOOOO000000000000000KKKKKK0000000OOkxxkO000000KXXKK0KKKKKKKKKKKKKKKKKKKKXXXXXKKKKKKKKKKKK000OO0000KKK000O0000000000
xxxoc,............................'',;;::ccccllooooooddddddddddolc;,'.. .;:::::::;;;;;;;,.. .... ....,:coddxdddddddddx0NWMMMMMWWWMMMMWWO:...............'',;cllllooddxxkkkOOO00000KKKKKKKKKKKKKKKKKKKKKKKK0OkkkO0000000KKKK0000000000KKKKKK000KKKXXXXXKKKKKKKKKKKKK0OOO0000KKKK0000000000000
kkxo:,............................',,;;:cccccllooooooddddolc:,'.. '::::::;;;;;;,;;;,'............';clodxxxxxxxddxOXWMMMMMMMWWWMMMWMMNk;..................',;:clodxkkkkOOO000KKKKKKKKKKXXXXXXXXXXXXXXXKKK0OkO00000O00KKK0OOOOOOOO0000000000000KKKKKKKKKKKKKKKKKKK00OO0000KKKKKKKKKKK000000
kkxl:'...........................',,;;:::ccclllooooool:;,... .::;;;;;;;;;;;::cldxdoc;;;,.....':clodxxxdook0NWMMMMMMMMMMWWMMMWMMN0d,.......................';:loxkOO0KKKKKKKKKKXKXXXXXXXXXXXXXXXXKKK0kkO0000OOO0KKK00OOOOOOOOOOO00000OOOOOOO000000000000KKK00000000KKKK00000KKKKKKKKK
kkdl;'..........................',,;;;::ccclllcc:;,'... .;::::;;;;:ldkkO0OO0KXK0kdc,....',:cloddddxKNWWMMMMMMMMMMMMWWMMWWMN0Oo.............................',;clodkO0KXKKKKKXXXXXXXXXXXXXXXKK0OkkO000OOO0KKK0OO000000000000000000OOkkkkkkOOO00000000KKKKKKKKKKKKK0000000KKKKKKK
kxoc,...........................',,,;::::;;,'.... .. .. ':::;;,,;:lxO0KKKKKKKKKXXKkc'...',;:loxOKNWWWMMWMMMMMMMMMMMWWMMMMN0Ok:....................................';:loxk0KXXXXXXXXXXXXXXXKK0OOO0000OOO0KK00OO0000000OO000KKKKKK0OkkOOOOOOOO000000KKXXXXXXXXXXXXXKKKKKKKKK0000
Oxl:'..........................',,'''..... ... .... .,:;,,,,,;;:oxO0KKXXNXXXXXNKko;''',;ok0KNWWWWMMWWMMMMMMMMMMWWMWMMXOOOd'.........................................';coxO0KXXXXXXXNXXKK0OOO0KK00OO0KK0OOO000000OOOO00KKKKKK0OOO0KK00000000000KKKKXXXXXXXNNXXXXXXXXXXXXKKK
kdc;'.............................. . ..... .. ..;:;,,'''',;coxkO0KKXXXXNNXK0kollodddddxkO0KXWMMWMMMWMMMMMWWWWMMXOOOkc..............................................';coxO0XXXXXXKK0OO0KK000O00K00O0000000000000KKKKKKKK0O00KKKKKKKKKKKKKKKKKKKKXXXXXXXXXXKKKXXXXXXXX
xo:'......................... ...... .... ... .....';;,,,'''',;cldxkO00KKOxdlcldxkkkkkkkOOOkkkkO0KNWWMMMMMMWWWWMWNKkOOOx;..................................................';cox0KXXK0OO0KK00OO00000000000000000KKKKKKKXKKK00KKKXXXXXXKKKKKKKKKKKKKKXXXXXXXK0000KKKXXXX
o:,...................... . .. ....'',;;,,,'''',;:cldxkdc;''',,;:loxxkkkkOOkkkkxxdloOXWWWMMWWWWWMNX0kOOOOl. .....................................................';codxO00K000OO00000000000KK00000KKKKXXXXXKKKXXXXXXXXXXXXKKKKKKKKKKKKKXXXXXKK00KKKKKKKK
c,................. .. ... ..'cc;;:;,,,'''',,;clc,.. ....',;codxkOOOOOkxxddoclodkKWWWWWWWWMNKOkOOOOx, ..........................................................'lOK0000OO000OO000K000000O0000KKKXXXXKXXXNNXXXXXXXXXXKKKKKKKKKKKKKKKKKK000KKKKKKKK
:'............ .. ... .... ..;locll:,,,,'',,;:,...... ....,;:ldkOOOOkxddddc:ccclokKNWWWWWWXkkkkOOOkc. ...........................................................:k000OOO000OOO00KKK0OOOOO0000KKKXXXKXXNWWNNNNNNXXXXXKKKKKKKKKKKKKKKK0OO0KKKKKKKK
;............ . ... .':oxodko:;,,,;:;......... ....,cdkOOOOkxdd0KOxlc::lodOXWWWWW0xxkkOOkko. ............................................................:k00OO0000OkkO00000OkkO00KKKKKXXXXXXNNNNNWWWWWNNXXXXKKKKKKKKKXXXXKK0OO00KKKKKKK
,........... ..,:oddO0dccc:c:....... .. ...;okOOOkxdx0XXNXK0xolldxx0NWWW0dxkkkkkkd, ........................................................ ....cO0OO0K0OOkkO0000OOkO00KKKXXXXXXXNNNNNXXXXNNNXXXXXXXXXXXXXXXXXNXXKK0000KKKKKKK
'........... .';:lokKOxddc:lo:'.... .... ..,lxOOOxdxKXNNXXXXXX0OkxdxKNWNkdxkkkkkkkc. ....................................................... ....'oOOO000OkOO00000OkOO0KKKKKKKKKKXXXXXXXXKKKKKKKKKKKKKKKXKKKKXXXXXXXXXXXXXXXXXX
.. ...... .',;:lxOkkOOc,lxkd;.......... ..,cxOOkdxKNNNNXNNNNXXNNX00XWWKxdxxkkkkxko' ...................................................... .....;xOO00OOOO0KKKK0OkO00KKKKKKKKKKKKXXKKKKKK000KKKKKK000000000KKKKKKKXXXXXXNNNNN
.',',;ldxk00o;cxkkx:.......... ..,coxdd0XXXNXXNNNXXXNNNNXXNXxodxxxxxxxxx:. .................................................... ......lOOOOkkO0KXXXK0kkO0KKKKKKKKKKKKKXXXKKKKKK000000KK000000000000000000000000KKK
..''',;lxkOOd:cxkkkd;.''''........,:oxdxKNXXXXXXXXXXNNNNXXXNKdoxxxxxxxxxxl. .................................................... ......;xOOOOkO0KXXK00OO00KKKKKKKKKKKXXXXXKKXXXXKKK0000KKK0000OOOOOOOOOOOOOOOOkkkkk
.... .'.'',;lkOOo:lxkkxxc',,''.....''.,lxxocxXXXXXXXXXXXNNNNXXXNKddxxxxxxxxxxo' .................................................... .......oOOOkkOOO00OO000KKKKKKKKKKKKXXXXKKKKKXXXXXXKKK0000000OOOOOOOOOOOOOkkkkkkkkx
.. ....'',:okkocoxkxxxl;;'.''.''''..,cdxdcoKNXXXXXXXXXXNNXXXXN0dddddddddxxxd; ................................................... .......:kOkkkkkkkkkkkOOO00000000KKKXXXXKKKKKKKXXXXXKKKK0000OOOkkkkkkkkkkkkkkxxxxxx
....'',,:oxocokkxdddoc'.'''''''..,cdxdllkKXXXXXXXXXXNNXKKXKdoddddddddxxxd:. ................................................. .......'dOkkkOOOOOOOOOOOOOOOOOOOOOO00KKKKKKK0000000000000OOOOkkkkkxxxxxxxxxxxxxddd
...''',,:doldkkxoodxc..'''''''..,cdxdoclk0KKKKK0KXXNNXKKX0olddddddddxxxd:. ................... .... ...................... ........:kkkkO0000000000000OOOOkkxxxkO000000OOOO0OOOOOOOOOOOOOOOOkkxxxxxxxxxddddod
...'''',,:loxkxdoodxc..'''''''..,cdddolcok0K00000KXNXXKKX0oodddddddddxddc. ................. .... ...................... ........'dkxOO0000000000000OOOOOkxxxxkOOOOOOOOOOOOOOOOOOOOOOOOOOOOkkxxkkkkkxxxxddd
..... ....''',,,:okkxoldxd;...'''''...'cddddooldkO00OO0KXNXXKXXOooddddddddddddl' ................. ... ...................... ..........cxxkOO00000000000OOOOOkkdodxkkOOOOkkOOOOOOkkkkkkkkkkkkxxxddddxxkkkOOOOOkk
........ ....','',;cdxdooxkl'...'''''...'codddddoodkOOOk0XXXXKKXKxloddddooddddddo, ................ ... .................... ..........;xkOOOOOOO000OOOOOOOOkkxdlldxkkkkkkkkkkkkkkkkxxxxxxxxxdoollllodddxkkkkkOO
....... ....'''',,,coooxkd;..'''''''...'coddddddddxkkOO0XXXXKXXOoooddddooodddddo:. ................ ... .................... ...........okkkkkkkkOOOOOOOkkOOkkxdolldxkkkkkkkkkkkkkkxxxxxxxxxxdolllooddddoooooodd
....... ....'''',,,;:oxxko'.',,'.'''...':odddddddddxkOO0XXXXKXXklooddoddoooddddoc. ............... .. .................... ...........ckkkxxxxxkkkkkkkkkkkkxxxdoooddxxxkkkkkxxxxxxxxxxxxxxxdolllodddddoooollcc