................................
..,;;::::::;;;;::::::cc:;:::::;;;;,''',''.......
.......... .',;cl:;:::::;;;;;:llc::clllc;::clc::cclc::::;;;,,;,''......
....''',,,;;,,,,,'.. .....',,;:;:ll:::c:clc;:::looc;:looo:;:cooc;:lool:;::clc:ccccc::::::;;;,'....
....',,,;:::;;,,;::;,'',;,'',. .........,;;;::clclcclocccll:lolccllloolclooddolloodlcloodl::llooc;:lloc;:ccllc::::c::;;,'...
....',;;:::ccc:;;;:::::;:ccc;;;;cc:::'..',;;,,;;::::cccllllolclolllccllllllllooloolloooooollloollollolclooddllodddl:clodl:;:lol::ccc:;;;;'...
.';;:::::cc:;:clc:;::ccllccccc:::;:cccc:c:::ccccccccclllooollolcodoooooooddoooddoodollddooooooloooooooocclooooooododdodolddlloddl:cddl;;:cl:,;,''...
...',,...,clc::,;clc:cllll::cc::cclcc::c:;:cllc:c:::clccclllloolooooodocldoooooccodoooooooddloddooddddoodddooddolddoooodoooodddlldocloddoooxdl::lol;,:cc::;,,'....
..',;:::::::;,;cllc::cllccccccc:::c:;:cccc::lc::clllcccccllllloooooolloolldoclodoooollloooodddoodooddddxxxxxddddxxxkxodxddddxxddddddodxooddxdooddolllcooccooc;;:::;;;;,'..
...,,,;:::cc::lllccc:c:;cccc:c::cccc:cc:;clclc:ccllllooccccccollloodocloololcoxdloolcodoooclodoodolodooxxooxxxkocodxkxdxxodxdloxxxxxxxxddxxxdddxddddoodolcllclolccllc,;cc:;;;,'..
..',;;;:::::ccllcccccc::l;;ccccc:::cc::;:c::cccc::cc::cccc::locccclooollloodoccldxdoc:loc::;;;:lddolloddodddddxkxdddxxkkdoxxdxdlldxxxdloxxxxodxddxxdddddddddoollollcllllcllc;,:c:;;,,...
..',;;:;;cllccccllcc:;:c::c;:lllcc::cccc:,;c:,:c;::;:c::ccc;,coooc:loodocldddddllodxdolcod:..'.';ldxdoldxxddxxxxkxddkOxxddxkkkxooddoddooldkxxoldxdxxdlodddooddddooollolclllllcccll;;c:;;;,'..
...,,;,:lcccc:;:ccccll:;:lccc:cccc::c::::c:,:c:,;::c;'''',;c:,,:lolccloooooodddxdooloxdoodxd:....':dxxxdodxkddkkxxxxxxkkkkxxkOOOxxxkkc,::;coxxxdxkxdddoodxdocldxollooooolcclolc::llcccl:;:;,,,'...
...',:c::ccc::;;clllllc;;cc:cc::c:cc::;;c:,,;:c:,';cc,..''';cc:;:lolloddoddooddxxxddloxdodxxxc. .'cdxxxxddxxddkkkkkkkkxkkkkkkOOkxxkkkl..;cldxxxxxxxdodxxddooodxdlclodoccllclollccllllccccc;,::,'''...
..'';:cc::clc:c:clccc::;;ll:cc:;,:ll:,,::;,,;:c:,,;cc,.',,,;cll::loooddddddooddxxxxdooxdoodxxo;,;;:ldxxxxddxxddkkkkkOOkkkkkkOOkOOxxkkkl. ,cldxxxxxxxdddxdooooddollooodl:cooc:loocclllllcc:;;:c:,,;,'''..
.',:::c::clccllc:::::::;;::cc:,,:lc;,;:;,,,;:c:,,:cc,'';;;:cll::looloddddooddxxxxxdooxddodxxdddxxxxxkkkkddxkxdkkkkkkkkkkkkkkkkkkxdkkko;,:clddxxxxxxddxxdoooooddollllol::lc:cllc:cllclloc:;,::::::;;;''..
.,,:ccc::lc:ccc:::::;,,,'';cc;,;:c:;;:::,,;;;::,;:::;;;;::clll::oolloddddoddxxxxxxddxkkxodxxxddxkkkkkkkkkxkOOxkOOkkkkkkOkkkOkkkOxdxkkxxdddddxxxxxxxddddddooooodooollol,.,,;cc:llcc:;cllc:::cccccccc;;;,'..
.,;:cc:,;:;;cc,;:;,,,'',',;:c;;:cc:;,;::,,;;:::;;::::,,',;clllcoddocodxddddxxxxxxxxddkOdoxxxxxdxkkkkOkkkkkOOOdxkOOOOkkkkxxxkkkOOOxdkxxxxxdddxxxxddxddddddddooodooooloo:',:clccllcc:ccc::ll::cclccc;;:;,,,...
.';;:c:;,;:;;c:,;:;''''',,;::c:;:ccc:;:::;,,;clc;;:cc:;,,;:looolodxoloddddddxxxxkkkkxxOOxoxkxxxxxkkOOOOOOOOOOOddkOkkkkkkkkkkkkkOOOddkkkxxxdddddxxdxxdddddooooooooloolooc'';cllclllccc::lcc:;:lcclll::::;;,,'..
.;;;:c;',;:;;cc;:c;''',;::::cc::cccc::ccc:;;clol::lllccccloddddodxkdoxxxxxdolodxkkkxxkO0xdxkxddxxkkOOOOOOOkkkkddkkOOOkxkkOO0OOkkkkddkkkkkxxxxddddddddoloooooloooolooololc:ccllccllllc;;cc;cccc:clcccccc::;;,,'.
.'::;:::;;:c::c:;:c::::clcc:clc;::c::::cccc::coolcoddodddollodooldkkddkkkkkdllodkOOkxkOOOkkkkkkkkkkkkkOOOOOOkxxdxxxkkxxdddxkkkkxxxxddxxxxxxxxxxddddddxolooodooooollooollllllllccclcclcc::c::cc:,;;;cc;:cc:::;,,,.
..,c:;ccc;;cc;;:;,;cllccccc:;clc;;ccccclloooolooolcoxdooddddodxxxxxxxxk0OO0000000000OO00OxoxOkxxkkxkkxxk00000Ododdodxxdooddoddoooddooooloooooooooooooddolodollooodolooocclccllcccclcccccccc:::c:..';::::::c:;;:;,'..
...;c::lcc;;:c;:c;,::cc:clcc::ll:,;cllc:::cllooooooloxxddxddddkkO0OxxodkkkO0OOOOOkkkOkkOO0xoxOOkO0xkOkkO0KKKKK0xdxxddxOkddkdokxoodxdoddllddlooccclcccccclllllccclooollllc:ccccclllloolcccccc:::c:..,;:cc;:::::::;;,'..
..':lcclc::;:::cl::cccccclc:;:c:;;;:cl::c:clloooddcldxkxoddddxxxkOOOkxkOkkO0K0O0000O0OkO00OxdOkx00kkO0OxO0O000OxdxxxdxOOxkOxdOkddkkddkxodxxoddolooloocclolllcolcccccllllcccllccclloollcccccc:;:c:;,:::cc:c:;;:cc;,;,'.
..,:ccclc::;:cccl:::::cc:::;;::::cllc:cllccoooxddxookOOkxxkxxxklcxkxxxxxkkkO00OO00kxxdoxOOklcoddxxxxkxddddddxxddolcldxxxdxkdddolloolloolodddddlcodloolcododoldl:lc::lcccc:cccccllllllc:ccccc::cccccccccccc:::::::;;;''.
...,cc:cl::cclc::::;;::::::cccc:;:loocccoolodddxddddxkkkkkxkOxxkooxxdddcokkkkkkxxxxddddoodkkloddddxdxkxddoddddddkklldxxxdoxkdollllllll::cccllllllc::clc:cllclodocodllolclccc::::lllccccccc:::::cc::ccccccccc:::;::c:,,,.
..';lcccccc:::;,;::;;;;::;cllll::ldolclloocclodoodlcdkxkkkxk0OkkkxkxxxdoxOkxkk0KKK00kxxdddkkoodddxkO0KOkOkddooooxdclxxddxxkOkdollloooo:colclolcllcccccccc:,;cclclllcccc:c::c:cllc:::::::;;;;:;::::::::::cc:cc::,,:c:,,'.
..',;cc::::;;:;;;;:c;;:;:c:lollc;,,:lc:::ccccodxdxxookOkkxkkk0K00kxdxxOxoxOk0XXNWWWWNXX0xodOkoodxO0KKXXKKXXXKkooodoccodkkxkOkOOOkxooddo:cllldxkkkkxoc::ccc:;cc:ccc:::::::c:,,;:lolllllcc:;::::::::;;:;:::cc:::cc,;cc::;,'.
..';:::;;;,,:c:c:;:c;;c;;:;;;,,;,',;clllcccloddddxxocdxddxkkkOKKKK0OkkOxodk0NWX0kxdxk0NXxldOkoodOxlc::cokKNNNKxoodoccoolcclxO000K0xlooo:;coxO0000KK0xlcccc:;clooodxdlc::cll:;;,,;:c::::::;:::::cc:;;;,,;::c:::::;;c:::,,'
..,,;::;;;::;;cc:;'',,',,,;;;,,',;;,;:::,'',,,;cdddkdlooldkO0kdollokOxdxxdxkKKd;. ..ckkddOkddx:. ..,xKXX0dlddcco,. ..,lkKXKkoccl::c;',;lkKKKKOdc::c:;lkOkO000Oxl:clo:,,,:cll;,'';;,,:::cc:;::;,,;;:::ccc:::cc:;;;'
.',;:lc:::cc,',,,,'',,,,,,,,''',,::'''..........:odkxdxxdxxo;.. .lddxddOKKc. :xddkkool. 'xXX0ocodcc:. 'x00Oocloocc' 'd000xddc:cc;:clxOO000Okc;cd:,lOKKK0xc'.:c;,;;,;;,,,,;:::::c:;:cllc:::;;,..
..',;:l:;::;,',;;;;;;,',;;;:;;;;,,:::;....... .;xxkkxkkdx:. ;dxkxlkKO: ;xxdkxool. .xNX0xoddllc. .o0O0xlldoc:. .x0Oxxdc:ll:'. .ckKK0kkd::lccOXKKXXXO:':l:,:c::,'''',;:cclc:::::cll:,;;,..
.'',',,,,,''..,;;;;;;;,,;::::::::::ccc,.... 'oxOkxkkdxl. ,dkkxdk0k, .okxkxool. .cKXOdoddlol. .lKK0koldo::' .oXKkddlcllc' .:O0kxOkc;c::lOXKK0Oxc',:;:loddl,''''',,;;;;;:c:::ll::;'.
.',;,''',,,,,,,;;,'',;,,,;;;::::::llcc,.... 'okOkkOkkkc. ,xOOxxk0d. .lOkkxodo. .oNKkddxdloo. :KNKOdoddlc' cXKxdollllc,. :O0Ok0Ol;cc,'cO00Oddl'.,,:lldxxc'..'col:,',,:llolcc:::,.
.',;;,',,;;;;;;;,,'...',;;;;;;:::::cllo;.... 'xO0kkOkxx; ;kOOxdk0d. ... .lOkkxodo. :kkxddddool. :KNKkdoodll, .dNKkolooool:. .,kXK000o:cc;.;kK00kkd;':::cclll:'.,:dkkd;.'',;::::cc::;'.
..',,;;''';;,;,,,,,,,.',,;;,,;;:::cclooo;''.. 'xOOkxkxxx;. .....;kOOkxxkl..':c:,..'.'okkkOxdl,''.',,''..;ldddoddddl,.''''...'dKkdoooddo;. ....;kOollooool:. ..c0XXKK0dllc;.,xXK0OOxc,::;;;cccc;,;cdxdoc'';oxc'';:ll:;;,.
.',,;:;'.';;,,,,,,,;;,;;,,,,;;;:::cloooo:,,.. 'dkOkdkdol;.',:clolldO000koxxddxkxxdddkkkOkxkOkooxkdcccccc:lddxxdodxxxooxxxxxdddodxxxxolxxdocllllccoolllllllol;...,dXXK0koccc:.;OKK0Okxl:cc:cllcll;,;:colll:,:kKk:;:;:;;:;;,.
.',;;;;,',;;,,,,,,,;;:::;;;;;;:::cccllll:''.....',;lxOOkoxOkkkOOOOOO0000OO00xdkOkkkkkkkxxxddddddddooddollllllcloooddooddooooododdddooddddlldddoodoodddoooooolclodocc::coooolcc:cc;;oOOOOxdl:cc:lollc;,,;:ldxkko;:dOko:co;.,cc;,'
..,,;;;;;;;:;,',,,,;;;:::;;;,,;::::lodlldolloodxxxkkkOOOkodOOOOOkOOkxkkxxxxxxdodddddxxxdddoolodddddddxxxxddddddddddddxxdddlcloooodoooooodddoodoooollloolllllllccllcclccl:;:llc::cll:;coooll:,,;:lxxo;,,,,:dOOOOd::oxxdccdo,,,,,,'.
.',,,;;,;::;,''',,,;:::;:::ccclllc:lddoodddddddxxddxxdxxdodxxxxxxkOkxxxxxxxxxddxxxxxkxxkkxxxxkkkkkkkkkkkkkkkkkkkkkkkkOkkkkdloxxodkkxxxkkddxkkxdoddddxxxxkkxdoolollllllclccccc:::::::;::::::;'';;;:c:,;;,;;dKK0Od::d0K0l:oo:;,.,:'
.',,;;;;,;:;;,',,;;:c::::cllllllcccccllloodolloddxddxddxxxdxkxdxkkOOOkkxxkxddxxdxxddxxdxkkkxxxxxxxkkxxxxxkkkkkkkkkkkkkkkkkkxdoxxdxkOkkOOkddO0kkxddxxdxkkkkOOkkxdxdooddooollolcllc:::;::;;:::::::::;;,;;;'',:oxkkdc;lOXKd:odl::,',.
.,,;;;;;:::::c:clccc::::::::::::cc::ll:clooooodxkkdxxddxkddxdoodxxxxxdoolooooddlodolooooodddoodoooxxoccodddxxkkxkkkxxxxooxxxdddxxxkkkkkkkxdxkddkxddxddxxddxxxxdoddodolllooodocloccc::cc::::cc:cll::;;;;,,',,,,:::;,;oO0d:lkd;c:;'
.',;;;;,;clc:::::;::::::cc::::llcllccol:looddoloxxdlodooxolodlclllooollddoollolcldxdooxdloxkxolooccodc:;:clodxxddxxdddxdolxkxkkkOOkkkxkkkOkdxkdoxxdxkkkxkxdxxdddooloddoloooodolllc:cc:cc:clclollll:::;;:c:;,;,,''''.',:ol;cdo;cl;.
.,;;:;:;;::;;:;;cc:cc:cclollc:ll:::;:lc:lolloolooollddccollxxooooooooooxxdoololclodolllc::loolcccc:lo::;,:lxOKK00OkxdooooldkkkkkO00KK0K0Okxdxkdodxxddkkxxxddxxxdddoloooddoddddolccc:;:ccccoooolllc::;,;:c::::;,'',;,,,,,;,,:c:cc;'.
.',;;;,;;;;;;:cccclcc::c;;::::::;;;;;;clcclcclooodddoodlccclxkdlclcc:;;cllllc:llccoolc::;,'';:c::c:;oo:;,:x00000KNWNXKOooocd0OkkkkkO0XNNNNX0kkkdoxkxddolc:cclloollc:;;cloodxkOOxoccc:clcccclllccc:;;;,.',;;;;;,,',;cc:;;;:;;;;;::;,.
..,;,,,'':lc:;ccccc:;,,;:;,;;;:c;;:clc;:llcccldO00000kdoc::cldxdlclc:,...',;:;;cl:clll:,''...'',;:c;;odc;:cc:::;,,:xKNNXkolcd0OOx:'..';o0XXXX0kkdoxxkd,..';cccc::clc,',;coxkO0KKK0kc;,cdl:lxOOkdl:;,''''',;,'.....',;;;;;;;:::cc:;;;.
..',,;;;;,;cc:;:;;;::;:;;:,,;;:cc:;;:cc;:olccdOXXNNXOdl:cc:loloxdool;........;:;cc::ll:..........';cc:ldlll,..;:,....:dOKOkxox0Okd,.. .,xK0Okxkdoxxkl. .,cc::;,;:,';,,,:oxkOOO0XO:';occONNNNXKo,........''.....,;;,'''',:::::::::;'.
.',;::::::;::;:cc:;,,,::::',;:ccccccc::;cdolokKNNN0o:,..;c:odoododo;. ..;:;:lllcc;...........':c:oxooo:..',......,dK000kkK0Oo,.. ,k0OOOOdoxkko. .;c::,';:;;:;;'..:xkdxxxxc',lcl0NNNXXKk:..''....''.....'',,,'',,;:,,;;:ccc:;'.
.';::::::::::c;:cc::;;:;;ll:cccccclcccc:;cdoldOKXXOc,,'..;::dxoddddl' .;:;lolccc:;'..... ....:ccoxool. ... .'dNKkOxxKK0d,. ,kK0OOOxdk0x:. ...,::;,,;c;:cc;...'cdddxkOd,,cc;o0000Okxl'.cc'.'''.......',,,,'.',;,',;:;:cc:;.
.,::ccc:::::cc:clc:;:::;;lolllllccllllc:;lkxdxOKXNk'.....,clxkddxxxl. ...:c;locclcc;........ .clcoxddl. .... .cXKkkdd0K0x'.. ..l0OkkOkdO0xc. ..';::;,cl::ll;.. .cdxxxO0x;':l;cO000Okko'.,;.............',,'...',,.,lc;;:cc:.
.,:ccllccccc::::cc:;::::;;looooolllollllc:okxoxOKNWd. ....;lcxkddxxkl. ....;c:oxolool,. ... .:lclxddl'...........lK0O0xd0K0kc;. ..l0Okk0kdkOOo. ,,..';;;,;ldlcoo:. .:ddxO0KO:':l;:OKKOkxxo'..'.....................',',od:;,,:,.
':cllolllccc;:cclc::cccc:;lddooollooooooccdOkdk0XNWx'.... ;lcdkxdxkkl. .....locdkxddoo:. ......'coclxddxxxxxxkkxl::;o0Ok0kx0KXOll' ...cxxdxKKk0XKx,......';,',cdocodl' .:xk0KXNKo,;c;,x00kxxxd:..'.. ............''......''cdc,,,;.
.;clooooolll:;:cclcccclll::oxdddooooooodoccx0OxOXNWWx:;....,llxkkxkkkl.. .'....locdkxddol;.. ........ldloxxxxddxxxkkxl;,':dddOkxOKKOol:'..':;;ll:lKXO0XXOc'.. ..,,',:docdxd;. .,xO0XXNKd,,:;,lkxxxdddc.',............. ..'..'..''.;do,,;;.
.,cooodddolll:,:cllllloollc:dxddxdddddddxdlcxKOkOKNWNo.,;c:,:lokOkxxxo;.....''..':loxkxddo:;;,,,,,,''';llldxxxdlclllloolc::coodkod0KKKOkkkkkxkdoxxdkKXk0NNXkolcc:;:lccclxxodkko;'.'cxO0KK0d;;cc,:xddooooc'.,'............ ..''','.,,.,do',;;'
.cdddddddoolc;;clloollooloccddoxxddxddxdxdox0K0OOKXXKxdO000dlx00K0OOOkxxxdxxxxkkkl:kOOkkOOOkkkkkkkkkkkkd:lkkkkkkkkkxkOOOO000KKKOloKXXXNWNNWNNWWWWWWWWKxONNNNNXXNXXKXKKKKKOddO00kxxddxkkxxxoc:clllllccc:::,',;,'........'. ....','..'.'lc',;:;.
,dxxxxxxddoc:;:llloolloolodxOOxxOkkkkkkOklxKKXK0O0000000K00xcxK0KK0000000O000OOOOccO00OOOOOOOOkkkkkkOOkd:lkkkkxkkkkkkOOO00K0KKKOloKXXXNNNXNNNWWNNNNNNKxONNNNXXXXXKXXXK0K0kooO00OOkkkxxxxxxoc::ldocclcc:::;,,;::;,,,'''',''..''',''''..cl,,:cc.
.oxxkkkxxxdlc:cdkxdxdxxxklcx0KKkxkkkOkkkko:kXKXKOOO0000000O0xok0000OOOOOOOOOOOkkkkodOOOkkkkxkxxxxxxdddxxocodddddddddxxddxxxxkkkOxodO000KKKKKXKKXXXXXXXX00XXXXXKKXKKK000O00OxxkOkkxxxxxdddooolcccllccc:::;;,,,;::;;;,,,''',;;;;,,,,;;,'.,c;';cl, ..........
... ;kkkkkkxxxdo:,ok0kxxxkxxxc:xO00kkkxxkxxkkddO0000OOOOO00OOOOkkkOkkOOOOOkkkkkkxxxxkxxkxxxxkxxxdxxxxddddxxxddddddddddddxxxkkkOOO000000000KKXXXXXXNNXXXXXXXXXXXXXXKKXXKKK000OOOOOOkkkkxxxxddxdodoollllllccc:::::;;;;;;,'''''',,,,,'''',;,''';;'':ol. ...........'''',
.........'oOOOkkkkkxdoc:oxkxddxxxxdooxkkkk00ookkOOkkOkkkkOOkkOOO00OOOOkkkOO00O0OOOkkkkkkkkkkkkkxkOOkkkdxkkkxkkkxxxxxxdddodxdddkOO0000KKKKKXXX00KXXXNNXXNWWNXNNNNNXXXNXKXKKKXKKKKK000OOOOOOkkkkkkkxxkxdddooolllllllllcc::::::::::::;;;,,,,,,,,,,,,,;;',;ld:........ .. .....'..''''',,
.............ckOOOOOOOkxocclooooloddxxdxxkkxkkO00kkkOkkkkO0OOOOkxO0O0K0000kdk00000OOOOOkkkkkxodkxkkkkkkkdooodxxdxxxddddoooooooddoodxkkOOOO00000O0KKKKKKXXKKXXXKKKXXXXK0KXK00OOOOO0OOOOkOOkxxxxxddddddodxoooooolccclcccccc:;;;;;::c::;;;,;;;;;;;;;;::ccccccclool;...','... ..,',,,,,;;,,;;
.........''',,;;:x00O0KXKKOxo:;:cooddxxkkxxxkkxxxkkkOOxxxddddkOOOOkxdxkkO0OkkOxlok000OkxxxxxxxxxxddxdlokOkxxxdoododddxxdoodl;:oddoddddxxxkkOOOOOKKKkoOXNXXXXNNNNNXKKKXXXX0kOKK0000OOO0OOOkkxxdloxxxxdddooddollc::::cccccc:::;;;;;:;;::;;,,,,,,,,,,,,,,,;;::cclox00kdl:'.'''.............'''',;;:c:c
..........''',,:codk000O0KKK0kxoc,':ollooooolollldkxxxxxxxxxxxdoloO00kkkkOOOOkOOOOklo00OOxdddxxxxxxxxkxxlcxOkxxxdooddddddxxddxxc:odddxdxxxxxxkkkkkOKKKKxxKNNNNWNNNK000KKXXKXKkk0KKK000OkkkkOOkkkdllxkxxxxddoooollc:;;:cllccllc::;''';:::::;;,,',,,;,,'',;;;;,;c::coOd;:;......'........ . ......:k0kk
............'..',',;;coxO0000OOOOkkxdlc:''colcclloloxocdOOkkkkxddddxkkllO0OkkkkOOkxxxkkOOllOOkxddooxkkkOkdoololcdkxxddoolc,''',:lodddc:odddddo:;:lxkxdddxk0KKxd0XNNNKxdkdlodxdk0KXXkx0KKKOdccodoooodxxdllxxxddxkxdddollc:;;:clododooc:;'..,codol:;'..';llc;''';cc;',cc,:ldl''....'',,;,,''''...........;dOOO
............'.',,'',;:clx0000OOOkkxddl:;,,oxolllllccodlokxxxxxddxxdoddclOOOkOOKKXKddOOkkxclOOxxxxOO0XKXXkc;lool:oxddodxxc'. ..,ldo:;odddo;....;dOkxOkdox0KkdOKXXOc;;cc:;oOxddkKKkdk00Oo' 'oOOkdooddlcoxxc.:kK00Okdocc:;:cd0K0OkOxl;,'.;d00Okxc'..,d0Oko;'.:xx:.'lo,,col'..',;cokkkdoc::;;,;;,..'.':lolc:
'',;;,,,;;,,,,,;;;;;;;;:x0000OOOkkxddo::',oxoloolllllcldkxddddddddxdloclkOOkOXNNNd.'oxxddclOOxxkOKK0000O:'lOxl::oxxddxdc'. . .,ll:;lddo:..','.,oddxddoox0xok0K0l',',;;.'dOkddOKkdkOOd,. .dK0kxoodlcldo' .cO0OOkdlll:;;:o0XK0OOkdc;'.;x000Oxl;'.,dK0Oxc'.;xkc''ld:':oo;.';cox0XNNXKkdxxdc;;,'',;;cdkd:,
..';:;,;cc:;:::ccccc:;:oO000OOOkkkxddlc:',xOxdollooooccxkxddddddddddol:lOOxxOXNWK: .:olllclOkkkk0XKkxxkd''oxoc;;oxddxxo;'. ':l:;ldoo:..';,..;clolodldOxdOKX0c'''.....lOOdokKkdxkOo. c0Oxddodoccoo, .:k0kkkxoc::;;;:kK00kxdol;,';xK00kxo:,;:d00OOo;;:dkl'.:oc,coxdcloxxxkxxkO0xl:collccc:cccclolc;
......................'oOOOOOOkkkkxdoc:;';kOkdlcllloccoxxxxddoooddddolcd0Oxx0KXXO;..;;;;ccoOkxkk0KOoollc,'lolc::oxxdxd:''. .clccoxdoc..',,'.',;:;cdddOxdOXX0c''......;kOxoxKOdkOOl'... .cO0Okxdddlloo'..:x0O00kdoc::cccx0OOOkxdo:;;:d0KK0Oko;:cdKXKKkc;cdOo,;cllclldkxkdokkxdooddxxoodkxxkxdookkdllll
......................'okOOkkkkxxdlc:,,,.,xkxoccloooccoxxxxdddoodddddlcd0OOO0KK0x;.,;;;;oooOkkkOO0koolcc;,ldolccdkxdxdc,'.... .. ..cdllxkxxc'''',,',,;;,;ldxOxdOKXKc,;'''''.;dkkxx00xO0Oo,.....:kOkkkxddoxkd,..;x0OOkkOkolloolx0OkkkkOxl:cloO0O0K0o:cldO0kOkc;:oxo;,:lollloxddlloooooololll;:::cldo:,:cc::cc
................ . .;lodxxdddol:;;,'''.'okxoc:clccccoxxxxdoooooooooc:dOOOO0000x;.,;;;collkOkOO00xddool:;clcllcdkxxxxl;,'. ... ..'ldlcxkxxc.....'';:;;,;lodOxlx0KKl,;''','.,oxxdxOkdkOOd:,'...:kkddddddodxd:.';xK0OkkOkxlcoocd0OxkOkkxl:cclk000OOxlclok000Ol::lddc:cloooolxxddxxxddddddoolcc:::ccccc:;collo
................ .:c::ccccc::;;,'..'.'oOko;,;;,,;:odxxxocclllllloc:x0OOOOOOOd,.,;lkxoclkkkkOOkxOKkxddo:;;cocoxxxkxlcl,..... .:;cxocdkkkl'......,;,,',codkxldO00o,,''',,,:dkxxxkxdxkOdcl:...:kkkkxoodoodd:.';d00OOkkkdlcllcd0K0KK0Okoclllx0KK00OolodOXKK0d::lkOo:coxddoldkkkkkxxxkkkxddkkkxkkkkkkkkkkkOOO
,,'...........','....;llccc:::cc:;;;;,''.;xOkl;,,;,;;,lkOkxlccclllllo::x00OO00K0kc;lldX0dllxkxxOOOkKWKkxxd;,,clcoxxxkklco;......,c:cxlcdxxxl'.... ......'oxdkxodOO0o''''',,.;k0kkkkkdxkOkll;...cO0OOkdddloxxc';:dK0O0OkOkdlldod0K0KKK0xoccclx00000Oo:ldxO0KKx::cdkd:;codddodkkkkkkxxkkxolldxxdxxkxxxxxxxkxdx
.....''''',;;:cc;;cc:llllllooodddoooc::;,cxxdc,,,,;;,'lkkxo:::::::::c,;dOOOkOKK0xdxkdxKOoloxkxxOK0OKN0Oxxd:;;locoxxdxkoco:,;;;;;cc:lxocdxxdo;,''........'okdkxoxOOOd;,;;;::,cO0OkkOkdxkkkxo::c::kOkO0OxxoodddoxdxOkdkOkOOdlllldOOxkOkkxc;,;coxOOkOkl;clloxO0xc:;:cllcccloooooddoodddodxdllloloooooollllll:''
,;;;;:::::cc:::::::::c::clllooolcccooollclolc:,;;::;,,collc;,;;,,;,;:';xOOOxdxxxxdkOkkKKxldxkdodkk0XX0000OxxxxocoxxxxkkkOkxxxxkxkkxxxlcdxoodxkkkkkxxxxkxxxdoddldkxxkOOO0000KKKOxkkxocoxdxO000KOxkOxxxxdolllloxOOOOkxxkkOOo:;cclkkkxxxxoc;,,;:oxxdddllllcclllc:;,,;;:::;;:cc::::::cccccllllllllllccccccccc;..
:::::::::ccccccccc:;;;;;:c::::::;,,:::::cclllccccclc::ccclllccccccccc:lkkxooooxOO0K0kkOOd::ld:..'oKXK0KXXKKKKklcloooddkO0000000000Oxoc:oolcokO0000000KKK0kdolccodoox0KKKK0O0K0Okxdolcloooxkkxdkkxkkxxdololcccloddoddoolollcclc:cclllllccllllccllc:;;;::::ccllllccc:::ccccccccccc:cc::cccccccccccccc::c::::;,
;;;;::::::::ccclooc;;;;;:;;;;;;;;;;::::::::cccccc::c:cccccccccccllccooddooodxkOkxxdlcllooc,.'...'loooodxddodxolc:cllllloooollllllc::c::ccclc:cllooodddddddoollllllooddoodoodddxxddddlllllooolcc;.;oddocccccccccccccccclllllllcclllcccc::::ccccccccccccc::::cccccccccccccccccc::::::::::ccc::::;:c::c:;;;;;;;
,;;;;::::::::ccclc:;;;;;;:::::::::::::::::::::cc::cc:ccccccccccllllllolooodddddoooollooolc:;,',;:oollloollldkkdllcccc:;;;cc:;:c:::;;::::coxdcccllllooooocldocccclloolollodoooodoolll:,,:lclolll,.':lllc:cc:::::::::::ccclllccclloolccccc:::c:::::::cc:ccccc:::::::::::::::::::::::::::::::;;;;;:oxxxc,;;,,,;
,,;;;:::::::::cccc::ccccccccccccllllloooollloooooooooooddoooooodoodddolooddoollllclllll:;;,,,;::loooollollllolcccc::::;;;;,'..,;:::c:c:;;::cccllllllllllc:cc::cccllllllcc::lllllllccc:,,,;:cccc,,,;::::::cccc:::::::::::cccccccllllcccccccccccc:::::::::cccc::::::::;;;;;;;:::::::;;;:::::::;;;;cddoc,,,,,,,
;;;;:::::ccccllllllloooooddddddddddddddddooooooooolllllccllccclodddddddxxxddooolc:;;:::;;;;;;;;;::ccccclccooooollc:::::ccc,...,;::::::;',:::::ccclllllloooolc::::cccllllllccclllcccccccc::cccc:;;;,::c::::::::::::::::::::::::cccccc::::::::::::::::::::::::::::;;;;;;;;,;;;;;;;;;;;;;;;;:::;;;::clc:;;,,,''
::::cccllllloollodddddxxddddddooolloollllllllllllcccccccc:cccccllllllllllcccc::;;::;::::;;;,,;;;:cc::::c:coc:llooollc;,;;;,..';;:ccccc:.':ccccccccclllllllllc:::::ccccccclccclccccc:::::::::cccc:;;;::::::;;;;;;;;;;;;;;;;;;;;;:::c::::::::::::::::::::::::;;;;;;;;;;;,,,,,;;;;;;;;;;;;;;;:;;;;;;:::;;;,,'''
ccllllooooooddooddddddddddddddooooooooooollllllllllllllcccllllcllcccccccccccc:c:clllcc::::::;,,''',;cc::;;c::::;::c::,..::::;,:c;;;;:::'':::c:ccccclllcc::::;;::::::::ccccccccccc::::::::::cllcc::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;;;;;;;;;,,,;,,,,,,;,,;;;;;,,''',,,,,,''...
clllooooddddddodddxddxxxxxxxxxxxddddooooollllooooollllllclloollloolllllllllllllccccccccccllccc::;;,;::;;c:cllolccc:;;,';:cccc::c::::::;;:c:cccccccccc::::;:::::::::::::ccccccc:c:::::::::::::ccc:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;,,,,,,,;;;;;;;;::::::::::::::::::;;;::;;;,,'',,''''''''''''',,''''..
llooooooddddddddddddxxxxxxxxxxxxdoolcccclllooooddooooolllloooolloooollollooooooolllcccccccll::cclodol:;coooooooooollc:llc:;:c;;ccc:::;::cccccccccc::;;;;;;;::;;::::::::ccc:ccc:cc:::::::;;;::::::::::::;;;;;;;;;;;;;;;;;;;;;;,,;;;;;;;;;;;,,,;;;;,,,,,,;;;;::::::;;;:::::::cc:::;;;,,:lc,,.........''''.''..