other
''''''''.''''''''''''....'....'.....'..........................................................',;;,;;,,;;,,,,,,,,,,,,,,'''......................'''.......................................................................'............''...........'''''.........................................'''''''''''',,;;;,'''''...........',,,'',,,,,,,,,,;::;;:::;,,;;,'........',,;,'.....''........''.............';::;''',''...''...........';,,;,'...,:::cc:'......;:;;;'.....,cc:,',:;'.........................,,,,,,,,,,;;;,,,,,,,,,'........ ........;cclc,.................,,,'....',,,;:looodxxxxxxoc;'.........
........ .................. .... ... ........ .............. ..... ............. .... ........''','''''''''''''',;,,,,''...'''................'''....................''................''............''......''.......'''''......'''''''....''....''''..'''..........'..............''...'''.'..'''''''''''','',;,''.............................',;:;;;;:::;:;;,;;''''';::;'....'''''.............''..........':,'';:;,,,'''.'''''.....;;,,,,'..,:,,cl:,......,::::,.....'ccc:'';:;.....................''..';,''',','',,,,,,,,,,,,,,,,''............';cllcc;'...............,;,.....',;coxOKKKXNNXXXXKK0ko;........
.. .. . . . .. ...................';,,,,'....'''...........''''''''''''...'.''''''''''''''''''',,,'..',,;,'''''',,,,,,,,,,,,,,,,,''''''','''''''''''''''',''',''''''''''''''''''''''''''...''........'...........'''''''''''.,'.';;''..............................,;;;;;;::;;;;,;;::::::,,,..,'.',,;;,,,'.....................,cl:,,coll::::;,::;,,....,,,;;;;..';''col;'.....':ccc;......;cll,';:;'.......... .........,:'.';;,,',;,,,,,,,,,;;,,;,,;;;;;::;;::;;;;;::ccc:cc:;;;;;;;;;;;;;;,,,;;,....,ldO00KXNNXKKKXK000000Odc;,,,,,,
.... . . . ..... . .....,;;,,,'...'''.....''',',,,,,'',,,,,,,',,,,,;;;,;;;;;,;;;;,;;;;;;,;;;;;,,,;;,,;;;;;;;,,;;;;;,,,,,,,,,,,,,,,'''''''',''''''.''''''.'....'.'''...'.............''..'''.'''''''.''','',',''''',,',;;,'..............................,;;;;::::;;:;;::::::::,,,,,;;,;,,;::c:;'......''''...'....':lloolclooooo:'..''.',...'',::c:,....';::;,'....';cccc;..,,,;:;:c;,::,.....................,,..,;;,,,;;;;;;;,,,,,,,;,,,,,,;,;;;;;;;,,,;:llc::cc;;;;;;;;;;;,,,,,,;;,,''cx0NWNKKXXXKK000KXXK0kkxdolc:;;;;;
..... . . . ............ ...,:;;,,,'...''',,,;;;,,,,,,,,,',,,,,,,,;,,,,,;;;;;;;;;;;::;::;;;;;;;;;;,,;;,,,,,,;;,,,,''',,'''''''.'''''''''''''............'''''''''''''''''','''''','',,,,,,,,,,,,,,',,,,,,,,,,,'',,'''',,;;;;,,'.... .......................,;;;;;;:::::::::::::::::::::::::;:clool;......cddo;.'cccc:::llool:cooodo:,,.';',;.....'''''................,ccccc:;;:::cll:'',cc;,,''''....''.........'..,;;,,,,,,,;,;,;,,,,,;;,,;;;;;;;;:::::;;:::cc:clc;;;;;;;;;;;;;;,,;;;,;cokXWMWNXKXXXXXXKKK0OK0xollllcc:;;;;;
.... ... ........ . ... .... ..,'. ..... .. ....;:;;;;;,'..',,,,,;,;;,,,;;;;,,,;,;;;;;;,,;,,,;;,,,,,,,,,,,,,,,,,,''''''.........'''''''.'''''''''''''',,,''',,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;,,,,;;,,,,,,,''',;;::;;,,'.............................',;;;;;:::::::::::::::::::::::::::ccll;......;ddooc;coolllcclool::odooolc'.;ccll:'..................'......:llcllcclll;'','',ccccllccccccccc::;,.....',;;;;:;;,,'',,,,'',,,,;;;;:::::ccccccc:::;,,;:clllc::cc::c:::::::;,',;:cxKWMMWNXNNWWWWNXKOxdodoloooddoccccccc
.... .. .. .;;.... .:;:;.cdc,..','.,ol;,,,'.;cc;,,','. . 'lllc. ...,. .. ....;::;;:;;,'.'',,',,,,,,''','''',''''''''''..'''''''..'''''''',,,''''',,,,,,,,',,,,,,,,,,,;,,;;,,,,,;;,,,;;,,,;;,,,;,,,,,,;;,,,,,,,,,,,,,;,,,,,,;;,,,,,,,,,,,,,,,,,,,,,,,;;,;;,,;;;;;;;,''',;;:cc:;,'..... ... .........'''''.....,;;;;:::::::::::::::::::::::::::::::c:'......ldc:odddoolcccodol::lxxdooll:,:ccldc,'......'...'.....''.....,lllllllllooc'...,cllllllllllllccc:::;...',;:::;;,;,,''',,'''',,',;;:::::cccccccc::::;,;lccooccccccccc:::::;'...;:ckNMMWNXXNWWMMWWN0xollcllol::lxxook0000
..... . ...,l:'''. .;;;;.:dllclodl.;l,:c:odoooooddol' .. . . 'lllc.....;'...... .::::::::;,''.''',,''',,,,,,,'',,,,,',,,,,,,,,,,,,,,,,;;;;;;;;;;,,;,,;;;;;;;;;;;;;;;;;,;;;;;;;;;,,,;;,,,,,,,;;;;;;;;;,,,,;;;;,,,,;;,;,,;;,;;;,,;;;;;;,,,,;;;;,;;;;,,;;;,;;;,,;,;;;;;;;,,,'',;:cc:;;..,'. ... ...';;,,''''','....',;;;;:::::::::::::::::::::::::::::::::,,,;;;co:':ddllccccccooc;:oxxxdllloo:clloo:,,,'..'''..''....'''..'.'coooolllollo:....;oolllllllllllcccc::,..,;:::::;;,'..',,'''',,'',;::::cccccccccccccc::ccooddlccccccc:::cc;'..clc::xNMMWNXXXXNWWWWN0dllllcl:'',;:oxdokKXXN
..... . .,. ........',;,','... ...,,';;'',,'.. ... . ... .. 'oc......;'........:c:::::::c:::;;;;;;;;;;;:;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;;;;:;;;;;,;;;;,,;,,,;;;;;;;;;;;;;;;;;;;,;;;;;;;;;,,;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;,''',;:cl::;............',::::;;,,;;,.,;;,;;;;::::::::::::::::::::::::::::::::::;:::::ll,;odxocccccc::;;:oxkkxolc:dxlooodl;::;'',;,'','...''''..''.;odoooooooooc.....:dooolllllllllcccc:;..,:::::::;,'....'''''',,,,:cc::cccllccllllllc:;;::clllclccclllccccc:,,lxxocoXWWWWNXXKKXNWWN0dl:::::,...,::lodxOKKKK
..... . .. .. . ...... . ... ...... .. .,' .....,.........:cccccccccccc::::::;::::c:::;::;:::::::;::::::::::::;::;:::;;;::::;::::::::::::;::;;::::;;:;;;;;;;;;;;;;,;;;;;;;;::;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;:;::;;;;;;;;;;,;;;;;;;;;;;;;;:;;;:;,,'.',:ll::;............;llcc:,'..';;,;;;;:;:::::::::::::::::::::::::::::::::::::::::colcodddoc;,,:c:,;:oxkkOx:',,cxxdddxdc:;'.,;;,,;;'..'.','.''.'lddddddddddc.';,.'cxdooolllllllccccc:'.,:cc:::::;;;'.......''''',:cccccllllccllllllc;,'',:lollllccclcccccccldxkkxxKWNNWWNXK000XNNKdlcclc;;,'..,:llodxkxdoo
..'.. . . . .. ... .. . .... ... .. .... . ... .. ...... ....... . .:lcclccccccccccccc:::c:ccc::::::::::::c:::::::::::::::::::::::::;;;::::::::::::::::::::::;;::::::;;;;;::;;::;;;:::::;;;;;;;;;;;::::;;:::;:::;;:;;::::;;:::::::::;;:;;::::::;;::::::::;;;,'',:ccc:;'..........'looolc;,'.':lccc::::::::::::::::::::::::::::::::::::::::::::;colldodo:...'cllllldkkkOx;...;kOxddxkxl:;:::,,;;,.'''',,'',,,cxxdddddddxl';cc;.,oxdoooollllllllcc:'.':cccc::cc:;;,''....''',,,;:cccclllllllooddxdoloxkkO0000OkdolccclccclxkxkOO0NNNWMWNK0Okk0NXxodkOxc:oc'.',:llloddllll
:;;,. . .. . ................. . . . .. . . .. .... .. . ... ..............cllllllcclllclccccccccccccccc:cccccc:ccc::c:c::ccccccc:::::::::::::::::ccc:::::::cc:::::::;::::::::::::::::::::::::;;::::;;;;;:::::::::::;::;;:;::::::;;;;:::;;::::::::::::cc:::::::::;:;,;;::::::'..........'collccc::;;clccllc::::::::::::::::::::::::::::::::::::::::::;:lllodo,..',:loxdodxOOOOx,.''cOOkdodkxddddddollc;;:;;::;;;;,;:ccc::cccl:.,llc;.'loooooolollllcccc,.';cccccccccc:::::;;,',;;;;:loooooooooddxkOOKKKKKKXXXXNNNXXKK0Okdoccloooodk0OOKXNMMMNXKOdx0NOdOK0Oxc:oc'.',:clloxxllll
olc,.... .. . .,,,;;,,,;,,',;. .. ... .. .. ... ... ... .. . ............ .cooloollllllllllllccccllllllcccclccccccllccccc:cccccccccccc:::::::::ccccc:::c::c::::c::cc:::::::::c::::::::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::cc::cc::::,,,,,;:;::cc:,...'......,ooooool:::cllolllc::::::::::::::::::::::::::::::::::::::::::;::ccod;...'codkkxdxOOO0kx:..;x00kxdxxxxdddxxddooollooloooooolllcccccc:,.';:::,..;:::::::::::::::;'',;:::;;:cccccccc:::;,;:::codddddxxkO0KKXXXXKKXXNNXXXKKK00000000Okdlc:,;:oxddk0XWMMWNNN0dxKKxkNNXXkl::;;;;;:coxkOOOOO0
ccc;......... . .. . ..................... .... . .. . .. .. ... ...... . ...............cdooooolllllllllllllllllclllclccllllllllllccllcc::ccccccc:cccc::ccccccccccccccccccccccccc:cccc:::::ccccccc:c::c:::cccccc::cc:::::c::::::::::::::::::c::::::::::::::::::::::cc::ccc:c;....'',;clccllccloc.....;ooodddl:::clodoolc::::::::::::::::::::::::::::::::::::::::;:::::cl:',;,;ldk0OxxkOO00kxd;.l000kdddooooooodxxdxxxxxxxxkxddddddddddddl''cddddc..;:cllcc::::::::;;;,,,,,,',:cccccccc::::::::codooodxk0XNNNNXXXXXXXXXKKK00000KKKKKK0Okkdl:...',:x0KNWMMNNWW0dkKOdKWWWNXxc:::;:cdkOOO0000KK
cccc' ........ . .... . ..... .. ... .... .. ... .. ...... ... ......... ...... ............cdooolollooollllllolllllclolllllllllllllllcccc::;::;::::::clllcccccclccllllcccccccccccccc:cccccc:ccccccccccccc:c::ccccc:::c::::::::::::::::::::::::::::::::::::::::::::::::ccccccccc:'..''.,;:::cloddddd;...'cddddddl:::::cllllc::::::::::::::::::::::::::::::::::::::;;;::::::;'';;,cok0KOxk000K0o:lc;lddol::coollllllllcllllllloodddxdddddxxxdlc::clll:',:codxxddddddddddoolllccc::::::::::::::cc::clddxk0KNWWWNXXXXNNXKKKXNNNNXXXK00KK0kxddooodc'....ckOKNNNXXNWN0xk0ddkkkxxxdl:;;:cdk0000KXXXXX
lokk;.. ...... .. ...... .... .... . ...... .. .. ...... ... .... ........... ...........'lddddooooooooooooooooolllllooolllllloolllc::::::::::::::::::cllllllcclcccllcllccccccccccccccccccccccccccccccccccccccc::::::::::ccccccccc:cc:::::::::::::::::::ccc::::::c::;;:clllllll;''''',,,;:ccllooodc...,lxdddddc;::::::::::::::::::::::::::::::::::::::::::::::::;;:::::;,'..:o:lk0KKOkOKKK0l..';oxxxxkxxxxxxddddddddddoollclllllllcccccllclllllloooloolodxxxxxxxxddddxxxxxxxxxddoolllccclc:::::ldkKNWMMWNXKKKXXKKKKKKKXKXNNXXXKOdddolclccccldddddxddOKKkdx0NWNOdxkllolcc::ccc:::ccodkO0KXNNNN
;lkO:..... ...............;dxxd:.... . .. . .. ... .. .. ... ... .. ...........'oxdxddddddooddodooooooolllloooooollllllcc::::::::::::::::::::ccllllllcclllllllcclcccclcccccccccccccccccccccc:cccccccc:::;:;;cccccccccccccccccc::::::::cccccccccccccccccc:'',;cooollllc,.',,'''';cc::ccccc,...;oododo:;:::::::::::::::::::::::::::::::::::::::::::;;::::::;,;;;,...,cccoxOOkkO0Okd,..;odxxxxkxkkkxkkkxxxxxxxxxxddddddddddddooollllllllclllcccclllodddxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddOXWMMMWNXKKKXXXXXXXXXXXXKKKXX0kdolllooooooolclx0000kdkKkccdKWWXkodxc:;::cccllcc:::cllloodddddd
,,;;.... .... ........lOkxk0Ko. ......................................... .. .. .... ... .... .... . .........'oxxxxddddddodddddoloooooooooooolllllllc::::::::::::::::::::::::cclllllllllllllllllclcclccccccccccccccccccccccccccccccccc,;;;clcccccccccccc:cccc:cc:::ccllccclccllllcclllc'.';clooolloo:,;;,',,,:cc:;:::::,..';::::cc:::::::;;;;:::::::::::::::::::::::::::::::::::::::;,'.',',;:cc:;,',;ccllloo:l:..',;:cloooddxxxxxxxxxxkkxxxxxxdddddddddddddoddddddddddooollllllcclllllllloooodddxxxxxxxxxxdddxxk0XWMMMWNXXXXNNNNNNNNNXXXK0OkkkxolllllllcccoxxdolokOOkxxkOd:oOKNWKdldxl;;::cccllloooooollllllllll
,,,'. . ... . .. 'k0OKOxOO, .'',,,,,,,,,;,..,,,,,;;,,,,..,'',;,,,'. . ......... .. ...... .........ldddxddddddooooooolooooooooolllllllllc::::::::::::::::::::::::::ccllllllloollllllcccccccccccccccccccllcccccccccccccccclc,,::ccccc:::::::ccccccccccllccclllllllllllllllool,..,:llolllooc;;,'''';:c:;;;;:::;;;,,,,,,,:::::::;;;::::::::::::::::::::::::::::::::::;;:::::;'.';:;;;lxkkxddocccllloc:docllllooodddddddddddddddddxxxxxxddddxddxdxddddddddddddxxxxxxxxdddddddoollllcclccllllllllloodooddkKWMMMWNNXXNNWWWWWWWNNXK0kxollllcllolc:;;;:::ldxxoooddddxOOlcxOKNN0doddc::cccloddoooddxkOOxocccccc
'''.. ... ..... .. .d0kkkx0x. .........,'............................ .. ..... .. ................ .........lddddodooooolllollllloooooollllllllol:::::::::::::::::::::::::::::llllcclllolllllccccc::ccccclcccccllcllllcccccclcccllll;,::::::::::::::::::::cccllcccc::::cloooollllooool;..:lloollool:,.',,',:c:;;;;;,,;;;;;:::::::;:::;;;::::::::::::::::::::::::::::::::::;;;;;;;;:;;:::odoloxxxxxdllllllc:coxxddddddoddddxxxdddxxdxxxdxxdddddddddddxddddxdddxdddxxxxxxxddxxxxxxxddddddddooddoooollllccclcclkXWMMMWNXXXNWWWWMWWWNXKOdolllolclodoc;''..';:::cdxxddl::loxxooxk0KXOxxkd;,;::co0NNX0Oxox0XNNKkdl;;:
''''. .... ... ........ .okkkkl'. .,,''',;,,'',,,,,,,,,,''',,,,,,,,,,'. .. ...... ....,,,,,,,,,,,,,,,,,,;:cccccccccclollolllllllllllllloooolll:::::::::::::::::::::::::::::cclllclllllllc:clcccccclllllcccccllllccllcllclllllllllc;:::::::::::::::::::::::;,'.......,ooooolooollccol,';cloolooool;'',,'';:::;::;;,,;::::::::c;;;::;:::::::::::::::::::::::::::::::::::;;;;;;;,;;;;::oxkkxdxddddolllool::coxkkkkkkkxxkxxxdxddddddddddxxxxxxxxdxddddddddddddddoddddddoddddddddddxxxxxdddoddooooooodddddodxONMMMWNXXXXXNWWWWWWNNXOdllooddolclol:,'.....';;:clddxxl,,:cllcloodOKOxxxc...',,:oO0Okxk0XWWNXK0Odc:c
,,,,.... .. .. .. ..''.. .'::::::::::::::::::::::::::::::::::;... . . ..... ..,:::::::::::::::::::::::::::::cloooooloolllllllooooooolllc:::::::::::::::::::::::::::::ccllllll:::cl:,:llcccclllllllllcccllllllllllllllollllc::::::::::::::::::::::::;'........,looooloool;';cl;,:clloooool:,.',;'.,;;;;;,;:;;:::::::::::;;::::::::::::::::::::::::::::::::::::::;;;;;,,,,,,;:lxkkkkxxxxxolollddc:clodxxxxxxxxxxkkxxdxxdddddddddddddddddxxxxxxxxxxxdddddddooddoddddddddddooooodooddddoooooooodoood0NMWWWNXXXXXXXNWWWWNNKxllodddolcccllc;,,,'...';:ccloddxo;;::cccccc:loolc:,......,cdxkOKNWNXK00000xxkk
',,'.... ........ ...'::;:::cloolllllllllllllllllllooollllc:::::.... ...........,::::::lolollolllllollllollollooddoooooooooolllllooolllllc:::::::::::::::::::::::::;;:::clllolc::::cc,,cllolllllllolllccllllolllllloolloooolc:::;;::::::::::::::::::::;........'ldoooooooc'.';:;;:cllollcc;''..,,..',;:;;,';:::::::::::;,,::::::::::::::::::::::::::;:::::::::::::;;;;,,;,,;:cdxxxxxdddxdooooooc:clodxdddddddoodddddddxddxdddddddddddddddddddddxdddxddxddxxddddxxddddddoodooodooodddoodxxxxxddddx0NWWWWWWNXXXKKKXNWWNX0dlodool:::cclllo:,;:,...',:clllodxo:;:cllolcccc:::;;'....;coxOKXWNXK000KKKKOdoxx
,,,,. . . .. .. ................,::::::lddddddddddddddddddddddddddddddddddo:'..............,:::::coddddddddddddddddddddddddddddddoooollllolloooollllc:::::::::::::::::::::::::;;::::looooc::::cc;;cooooooooooollllllllllllloooooooooodo:::::::::::::::::::::::::::'.......'ldoooooool;..,:;:::clccc::,''''''..',;;,;;;;::::::::::;'':c:::::::::::::::::::::;;;;;;;:::::::::::::;;,,;,;:::lxkkxxdooooooollccccllllccccccccccccclllddddddddddddddddxddddddddddddddddoodoodddddxdddddxxxxddxddddddoododxxxxxxxONWNNWMWNXKKK0OO0XNNX0dlooddddxkxdolc:;;,:l;...',;clllldOdodllooolcllcc:;;,',;coxO0XNNNX0000KKKK0koloxx
,,,,. . . . .;:::::lddddddddddddddddddddddddddddddddddo:. . .. .':::::coddddddddddddddddddddddddddddddoloollooooooooolllllc:::::::::::::::::::::::::::::::lodoc::::clllooooooooooodoolllllloolllooooooodoool::;;:::::::::::::::::::::;;,.....'',cooolllccc:;;;;;;::clcc:::;,''','',;;;;,';,,::::::::::;;:::::::::::::::::::::::;;,,,,,;;:::::::::::::;;;;::::::lodolc::::cc::::::::::::::::::;;;;::cc:loddxxddxddddddddddddddddddddddddddddoddddddoooooddddddxddxxxxdddddddddodxXNXNWMMWNXK00OkkOKNN0dlox0XNWWMMMWNX0Odc;:l:'..'',:clcclkdokolllolllllllllodk00KXNNXXK000KKXKKOxolcldkx
,;;,.. . ....'::::::lddddddddddddddddddddddddddddddddddo:.. . . .,:::::codddddddddddddddddddddddddddddddolooloolllloollllllc:::;;:::::::::::::::::::::::::::coo:,;:::clodddooodoodddddoollodoooooooooddoooddl::::::;;;;;;:::;;;;,,,,,,,,,,,,;;:::cccc::::::::::;;,;:clc::;:;;;;;;'.,;::,,;;,';:::::::::::::::;;;;::::::::::::::;;,,'''',;;:::::::::::::::::c:::;;,;:::::::::::::::::::;;,''',,,,,;:::::::codxxxxxxxkxxxdddddddddoddddddddddddddddddxddxdddddooooooooodddddddddddOXXXWMMMWNKK0kxdxOXNKdlox0XNNWWWWWWWNNXkc:::;,,,;;;:cllodkxxOxxxxkkkkkOO00KKXXXXXXXXXXXXXXXK0Oxollcclodd
',,,...... . . .'........'.';::::::lddddddddddddddddddddddddddddddddddo:'. . ... .':::::coddddddddddddddddddddddddddddddddooloooooolllloooool:::,,:::::::::::::::::::::::::::::;'.,,,,,;lddddddddoddddxxdooooodddddddddddddolc::::::;'...',,,'..........,;:::::::ccc::::::::::::::,,;:ccccc:;;::::;.':clc::c,.;:::::::::::::;,'''';:::::::::;;:;;;,,''''',;;::::::::::::::::;;;;;,,;:::::::lddoc:;,,'',,'',,;;;;;;;;;;;;;:lddddddddxxxxxxxdxxxxxxxxddddddddddddooooddddxxxxxxxxddxddooooooooooodxKKKNWMMMWNXXKkddx0XKxlldOKKXXNNNNNNNXX0xc:;;;;;;;:cldkO000000KKKKKKXXXXXXNNNNNNWWWWWWWNNXK0kdlllccllcccc
,;;,.. .... . .','',,;'.''',;::::::ldddddddddddddddddddddddddddddddddddl,. . .,:::::codddddddddddddddddddddddddddddddddooooolc:cccllloodoc:::;::::::::::::::::::::;;;;;;;;;,''''''',cddddddddddxdxdddddddooddddddddollc:::::::::;,.................',;;;;::;;;::::;;::::::::;;;,',:ccccc;,,,;:,',:cclc:l:.,::::::::::;,'......,;::::::;;;;::;;,,'''''',,;;;::::::::;;,,,',;:::::::::cllddol:;,,,,;;:::::::;;;;;;,,;;:odddddddddddddddddddddddxxxxxxxxxxxxddddoodooooooodddddddxxxdddddddddddOKKNWWMMMWNWWXOddx0XklcldkO0KXXXXXXNWWWWKdc:;::::coxO000000000KKKKKXXXXXXNNNNNWWWWWWWWNNX0xolllcclooooooo
',;,....... . ... .......'......'::::::ldddddddddddddddddddddddddddddddddddo;.... . ...,:::::coddddddddddddddddddddddddddddddddoooool:::::::codoooc:::::::::::::::::::::;;;;;;;:::;;::;;;,''':odddxxddddddxdddddoddddddddxo:;;::::::cc:::;,'.............',,;;;;;;;;;;;;;::::::::;,,,,',;,',cc:cc::;;:;..,;cll::l;.,:::::::;,'.....'..';:::::;,,,;;::;;,,''',,,,,,;;;:::::;,,,,,,;:::::::cc::ccllccclc:;;:;;;;;;;;;;;;;;;;;::lodddxdddddddddddddddoddoooddddddxxxxxxxxxxxxxdddoooooooooooooddddddxxxxO0KNWMMMWNNWWXkddkK0occloooddxkOOOOkkkkOkdc:::;:lx0XXKK000KKXXXKKKK00OOkkxxxkkOO0KXNNNKOxolllcclooooooooo
'','.. .. ..... . . . ... '::::::lddddddddddddddddddddddddddddddddddddl:,. ... ...';;;;;codddddddddddddddddddddddddddddddolloodoc:::::::cllloc:::::::::::::::::::::;;;;;,';:;;;;;;;;;;,',lxxxxdddddddxddddoodxdddoooddc::::::ccloc::::;'............;:::;;;;;;;;;;:::::::::::;'...';;;;:c::c;,;;:;...':llccl;';::::::;'......';,';:::::;'',,',::;;,,..'',,;;;;;::::::;;;:::::::::::ccc:cllllc:;,'',;;;;;;;;,,;;;;;;;;:::cclooddooddddddxxkkkkxxkkxxdddddooooddodddddxxxdxxxxxxdddddddooooooooodxk0XNWMMWNXWWWXkxdk0xcccoooooooooooolc::::ccc::::clodxO00KXNNWWWWWWWNNNK0kxdddddoodxkkxollllcllooooooooooo
',,,. . ... .. .::::::ldddddddddddddddddddddddddddddddddddddd:. .... .........;codddddddddddddddddddddddddddddddollooddoc:::::::::;;:::::::::::::::::::::::::::;;;:;;;;;;;;;;;,,:dxxddddddddddolllclllc::cclol::::::::ldl:::::::;,',;;;;;;;;::::::::::;;:cc:::::::::;'....'',;:cc::,.'';;'..':ll:cl,';::::::;''......''';:::::;,','.';::::;;,,,,;;;;::::::::::::::::::::::ccc:cc:;;;;;''',;;;,,'..',;:::::::::::::clooddxkO0KKXNNNNNNNXXXKK00OkxdddooooooddooooodddddxddddddoodooddddddkKNNNNNXKXWWWKkxdkkocoxdlllloooooolllllllooolc:::cclodxkO0KKXXXXKKKKKK0kxooollllllllllllcllodoodddddddddd
;;;;'... .. .. ..... .. .. ....;:::::ldddddddddddddddddddddddddddddddddddddo:...... ..... ....;cododdddddddddddddddddddddddddddddlloolooollcccccc:;',,;;;;:;:::::::::::::::::::::::;;;;;;;;;;;;,;ldddollllcccc:::::ccllcclllcc:::::::::::::::::::::;;;::::::::::::::::::ccccccc:cc:;,.........',,;;'..';::,',:clcll,'::::::::ccc:,,',,;:::::::;'.'.',,;;;:::::::::::::::::::::::::::::ccc:::::;,'',;;;,...'.....';::::::::::::::ccoxk0KXNWWMMMMWWNNXXXXXXXXXXXK0OkxddddooodoodddodddddxxxkxxxxxddxxxxxokKXKOkkOKNWWWKkdoxdcckWN0kdlcclllllllllllllcc:;;:cclllllooooooooooooooollllllllllllllcclloooooooooddoddoo
cc:::::;;,,'.......,,,'........''..''',::::::lddddddddddddddddddddddddddddddddddddo:,,''''''.''.....',;:cccclddddddddddddddddddddddddddddlodoooddddddooddol::::;;;;,;::::::::::::::::::::::::::;;:::::::;:ccc::cc:::c:cccccccccccccllc:;;:::;;;:::::::::::;;;;;,,;;;:::::::;::cccccccc:ccc::;....';;'...';;,,',,;;;::cllldo,,::::::::oOOOko:;;::::::::;....''',;;;;;;;,,,,;;clodddxxkkkkkkkkkOOOxl:,'...,;,,;:;.....',;;::::::clodxkOOO00KXNWWMMMMWWNXXKKKKKKKKKKKKKKKKKKK0OkxdddodddxkOO0KXXNNXK00OOOOOOOOO0xokKKklccxKNWWN0dlodlccxOO000Okxdolcccccccccccodollolllllllllllllllllllllllllllllllcccllooooooooooooooooooo
:;;::loooolc:;'....,:;,'..''...',,,,,,;::::::ldddddddddddddddddddddddddddddddddddo:'','''','',,,,,,,',;:::::lddddddddddddddddddddddddddddloxddoodddddxxxxdl::::::::;,;::::::::::::::::::::::looc:::::::::ccclllcccccccccccllcccccccllc;,;::;;,,;::;::::::::;;,'',,;;;:::::::::::clllllccccccc,....';:;:cllccccc:::cllllccol;;::::::::collxOkoc::::::;;;.......'',''..',,;:clodxkkkkkxxxddddddoolc;'.....',,;;;,..'',;::;;:coxk0KNNWWMMMMMMWWNNNNXXKKKKKKKKKKKKKXXXXKKK000000K0OkxxOKXNWWWNNXKKK0KKKXXXXKK000Okdx00d::lkXWWWNOollollc;;;;:clodxxxddxddolcc:codollolc:ccccccccllcllclcccccccccccccclooddooooooooodooodoooo
::::codddlc:;,'......''...''.''',,,',,;::::::ldddddddddddddddddddddddddddddddddddo:,,,''''''''',;,,,'';::::clddddddddddddddddddddddddddddlldddooodddoddxdoc:::::::;,',;::::::::::cc::::::;:::::;,,;,;,,;:cllllcclllclllllclllllllcccc:;;;;;,;:;;:::::::::::;;;,,;;;;;;;::::::::::cccllllllll:,....,;:;;,:lloooollllloolc;;:;;:::::::::coxxo:::::::::;,,'........'',,;::::::::::::::;;;;;;;;;;:::;,,,,...',;;;;,',;;;:coxO0XNWMMMMMMMMWWNXXKKKKKXKK0KKKKKXXXXNNNNNNNNXXXXXXKK000OOkOKNNXKK0000KKXXXXK00OOkkkkxxddOkl:oxOXWWNXkollodd:,,,;;;:::ccllodxkkOOdc:;::;,;::;;;;:c:ccccccccllooollcccclllooooooodooooooddoooodooo
:coodddoc;,''..........'..''',,,,,,,,,;::::::lddddddddddddddddddddddddddddddddddoc;,''''''',,,,,,,,,,;::::::lddddddddddddddddddddddddddddloddooooooooooddl::::::;;;;:::::::::;;;::;;:;;;,'',,,,,,;;;;;;;::cccccccc::cccccclllllllllcc:;;;;;;;;;;;;:::::::::;,,,;,,;;;;;;;;::::::;;:;::::::;,'''',,;;,,,,,;lodddooooooool,,:::::::::::::cd0xc;,;::::::::;'',,,,,;:::::::::::::::::cclloddxo:::::::,''......',:;'..,cdOKNWMMMMMMMMWWNXXKK00KKKKKKKKKKKKXNNNNNWNNNNNNNXXXXXKKK0000Okkkkk00000KKXXNNNXKOkxxddddddxkkkd::xk0XNNNKxllodxo;',,;;:cccllllllooooodo:,''...'',,,;ll:looooooooddxddddddxxxdlooolllllllooooooooooooo
ldkOOd:,''''................',,,,,,,,;;;;::::lddddddddddddddddddddddddddddddddddoc;;;;;;;;;;;,;,,;;:::::::::loddddddddddddddddddddddddddddoddooolc:coooooc::::::;,;:::cc:::,,''',,',,,,,....',,,;::::::::::::::::::::::::ccccccccccc::;;;,,,,'';,';:;::::;,,,'','',;;,;;;;;;;;;;;;;;;;;;;;,.',,;;;;;;,,,,,:looddooolllll:;;;:::::::::::::looc;,,,;cl:::::::::::::::::::::::::::::ccccllool::::::;'........;:c:,;okKNWWWMMWWWWNNXXKKKKKKKKKKKKKKXXKK00XWWWWNNNNNXXXKK0OkxxdddddddddddxkO0KK00O0KXXKOxdoooooooodxOOd:lkkOXNXX0doodxdc,',,;::lodxxdoollodddxxxo:,'''',,,,lxl:odoooooooooooooddddxxdolloollllllllllllloooolo
odkOo;'''''..............''..,,,;;;,,'',,;:::ldddddddddddddddddddddddddddddddddddooc:::;,'.'''...,:::::::clooddddddddddddddddddddddddddddddool:;,,',,,,;;,;:::::::::::::::;..........'''...,;;;;::::::::::::::::::::::::::::::::::::::;;,,,;;,';;,,'.;:::,',;;,,,;,',,,,,;;;;;;;;;;;;;;;,'''.',;;;::::;;::;;;:cc:c::;;,,;;,;;;;;:::::::::::::,.';;cc::;;;::::::::::::::::::::::::::::::::::::::;;'....'''.':lodOXNWWMMMMMWWNNXXXXXXXXXXXXXXNNNNNNNNXK0XNNNNXXXK0OkxoollllcccccllllllldxO00Okxddoolcc::::::;;:ldkkdldkkOKKXK0xdxkOk:..'',;:lxKNNNXKkdoddxkOKKOd:,,,,,;ckxccdoooooooooodooooooodoollloooooooolloolllllolll
lodl,''''''.............'''',,,,;,,,'''.';;;:loddddddddddddddddddddddddddddddddddddolllllc::;,'..,::::::loddddddddddddddddddddddddddddddddddl;,,;;,,'',;:::c:::::::;'';,''....................',;;:::::::::::::::::::::::::::::::::::;;,,,;;;;',;;'.'::::'...;;,;cc,',,,,,;;;;;;;;;;;;;;'....',,;;:::::;,::;;;::;,,,,,,'...,,..';::::::::::::,';:::::;,'',;:::::::::::::::::::;;;;::::::::;;;:::;'..''';cloOKXNWMMMMMMMWNXXKXNXXNNNWWWWWWWWWWWWWWNNNX0OKXKK0kxdolllllllllllllllllcccclodxkdl:;,',,,,,,,,,,,,;clddlloddxxOKX0kxk00d,....',,:oOXWWMMN0xdxO0KNNNKOo;;;;ck0ocodooooooooooooooooooooolllolllllllllooooooooooo
clc;,''''''''...........'''',,,''''.......';::clodddddddddddddddddddddddddddddddddddddddddddolc;';:::::codddddddddddddddddddddddddddddddddddoolllc:;;;::::;:c::::,,,;;,'',;;;,'...............';;:::::::::::::::::::::::::::::::::::;;,',,;;;;,'''..;:::;.....;;';c:,''',,;;;;;;;;;;;;,'......',,;;::::::::::::;,,;::::;,...',,;;,;::c:;;;:::,,;,,;;;;;;,;;:::;;;;;;;,,,'''',,''.';::::;;;,,;;;;;,',:ldOKNWMMMMMMMWWNXXK000KKKXXXXXWWWWWWWWWWWWNNNXXX0xdkxdollclllooddddxxxxxdddoolllllloo:,''''',,,,,,,,,,,;:ccccccllcldO0Oxxxdo:'. ....'';:okXWWXOkk0KXNWWNXKOo:;ckKxcloooooooooooooodoooooooollllooolllllcloooooolooo
:::;,'''''''........',;;,''''..............,;;;coodddddddddddddddddddddddddddddddddddddddddddddo;,,;,,;coddddddddddddddddddddddddddddddddddddddddolc::ccccc:::;,,;:clllodddddl;..............,::::::::::::::::::::::::::::::::::::::;,''',;;;,'.''',::::,......,,,,;;;,'.'',,,;;;;;;;,.........',;;;:::::::::::;;:::::::,'''.';:;,,,;:::::::::,','..',;;;;:::::;,.......','..,'...';::::;;;;:::clokKXWWMMMMMMMWNNXKKK0KKKKKXXXNNNNKKXWWWWWWNNNNNXXK0kdlllccllloddddooolllooddxxxxxddoollodl;,;,,,,,,,,;;;;;;::cccllccc::cooolllc:,.. .....';oOXKOkO0KXNNNXK000OxcckKklcoooooooooooooooooodoooddollloooooooolloooooolloo
'''''................',;;;;,''............,:cccc::lddddddddddddddddddddddddddddddddddddddddddddo:'''..':oddddddddddddddddddddddddddddddddddddddddoollllloollcc::looollllllloc,............';:::::::::::::::::::::::::::::::::::::::::;''',,;,'..',,;::::,......';,..,;::,'..',,,;;;;'..........'',;;::::cc:::cc::::::::;,,'.''';;,'';;;:::::::,,,.........';:::,......'',;;,';,.....'',;:;:cldk0XWWMMMMMMWWNNXKKKKKKKKXXXXNNNWWWWWNKk0NNNNNNXXKKOkxolllllloddddollcccc:::::ccloddxxxxxdddddc;;;;;;;;;::::::::cclloolcccccccc:::;;,.......';ok00OO0KXXNNXXKK00KK0xld0Olcoooolooooooooooooooooloooollooolloooooloooloooooo
''........''''''''....',;::::;;,',,,'''''',,,,,;,,cooooooooc:::cloooooollcccclooooooooooooooolc:;'....';cllc:coooolclooooollllloooooolllcloooooooooooooodoolloooooooooooooo;....'''''....,:::::::::::::::::::::::::::::::::::::::::::;,...'''....',;:::::;....''''.....';'.....',;,.............',,,;:;;ll::cclc::::::;,,:;,','.,,,;;..,:;;;;;;;,'........';;;;;,'.''',;;:::;;,'.......':ldOKNWMMMMMMWWNNXXXKKKKXXXXNNNNWWWWWWWWWNNNKkOXNNXK0kxdollllloooxxdolc::;;,,,;;;:::::cloddxxxxxxxdlc:::cccccccclcccllloooooccllcc:::;;;;,.....':dO00O0KXXXNXXKKKKKXXXXKxloxocloooooooooooooooooooooolooolclooloooooooooollooooo
;,'......',,,',,'''''..',;:::;;;;,',''''''''...'',,,,,,,,,,'....',,,,,,''....',,,,,,,,,,,,,,,'..''...'',,'''.',,,,'.',,,,,''''',,,,,,'''.',,,,;,,;:looooooooooooollloooool,..,,;;;;,,,',;::::::::::::::::::::::::::::::::::::::::::::;,'.........',::::::;,'',,'.'..........................,'''',,',::;:llclc::::::::;,:::,','';;;;;,..,;;;;;:;;,'.......';;;:::;,''',;;::::;;,..'''';lkKNWMMMMMWWWNNXXXXXXXXNNNNWWWWWWWWWWWWNNNNXXKkdk0Okdollllllloddlodol:;,''.......',,;:::clloddxxkxxdocccclllllccccccclllooooolclllcc::;;;,,';oolxO000KKXXNNXXKKKXXXXXXXKkollccloooooooooooooolooooooooloolccloooooooooooooooooooo
;,''...'',;;,,,,''''''.'',;:::;;;,,,,''''''''..''','.......''''''.......'''''''..............'''''...',;;,'',,'....'''....''''''......'',,'.......':loooooooolloolllllllol'..',;;;,,,;;;:::::::::::::::::::::::::::::::::::::::::::::;,'........'';:::::::::::;,,,,,'''..'''''''...........':::;;;;;;::;,cdl:oko:::::::::::;',,'''','.. .;;;,..,,'..'',;,''';::::;;,,,,;;;;;;;;,'';::o0NWMMMMMWWNNXXXXXXNNNNWWWWWWWWWWWWWWNNNNXXXK0kxdlloollllllllodxxo:cc:;;:c:,,,,'....'',;::ccllooddxkkxo::cllllllllccllclllloooollllllccc::;;;:okO00KKXXXXXXXKKKKXXXXXXXKOxollccllllllllllloooooooooodooolooollolloooooooolooolooloo
,''''''',;;;;,,,''''''''',;::::;;;,,,'''''''......''''''''''..'''''''''''''''.''....''.'''''',,,,,;::cclooooool:::ll:;,,,;lc;,;cc:;,,,,;clc::::::;:cllollllllllllllllolooc,....,;;;;;;;;:::::::::::::::c:::::::::::::::::::::::::::::;,''......'',;::::::::::::::::::::;;;;;:::::;,'.......,::::::::;'';;,:::ldoc:::::::::::;;,.........';::,...',..',,;;;;,,;::;;;;:::::::;;;;;;:lxKNMMMMMMWNNNXXXXNNWWWWWWWMWWWWWWWWNNNNXXXK0kxdolllllllllllllllodddc:ccodxdxxl;,,,''...'',;:cccllooodk00xc:cllllllllllllllllllooollllllcccccldxk0KKXXXXXXXXKKKXXXXNNXXXKOxollllclllcllllclllllllllloooooooooooooooooooooooooooooooloo
;,'''''',,,;;,,,''''''''',;;:c:;;;,,,,',''...............''........................'',,,;;::cclooooooooooodoollolldo;,:ccxOl'';ccl:,'''';coooolllllllllllllllollloolloooll:'....',;;;;;;::::::::::::cdOKOdc:::::::::::::::::::::::::;;,,'''''''',,;;::::::::::::::::::::::::::::::::;,'....;:;::::::'..';;;:c:cxx::::::::::::;,'';:'...'',;:;,'.';,,,,;;'';::;:::;::::::::::::::lkXWMMMMMWWNNNXXXXNNWWWWWWWWWWWWWWWNNNNXXK0kxdollclllllllllllllloddolokKOxxolc:;::,',,,'...'',;:cccclloodOX0o:cllllllllllllcllllllllllllllccldk00KXXXXXXXXXXKKKXXXNNNXXXKOdolllllclllcccllcclcccllllcclclllllooloooooooooddooooooooooooo
c,''..''',,,;;,,,,''''''',,;::::;;,,'''''................',...........''''',;::ccllooddoodddddddooooooooooooolloxxc;,,,;ldl;:lllcc;'''''':oooolllllllllloolllllllllllllloo:,,'...',,,,,;:;;::::::clxKWMMMW0dc::::::::::::::::::::;;;;;,,,''',,,,,;;;:::::::::::::::::::::::::::::::::::,..';;;::;;:;.....',;;:col::::::::::;;,,''','.......';:,';;::;,;:;;;:::;;:::::::::::::clxKWMMMWWWNXXXXXXXXNNWWWWWWWWWWWWWWNNNXX0OxdollllllllcllllllllcclooolokXWMNKxc;,,,;;;,',;,'...'',;:ccccclood0Kx::clcclllcllllllllllllllllllldk0KXXXNXXXXXXXKKKXXNNNNNNXK0kdlllllllllllllcccllllcclllclccclccccllcllllllolooooodooooooddood
o:,'...''',,,,,,,,,''''',,;::;;;;;;,''''''..''''''''.....','.',,,;;::ccllooddddxddddddoooodooooodoooooooolloollx0dc;'..,:clllllool:,'''..:oooolllloollloolllollllolloloodo;,:,....',,,,;:;;;;:::cokXWWMMMWNOl::::::::::::::::;;;;;;;;,,,,,,,,,,;;;;;;;:::::::::::::::::::::::::::::::;;;;:::;;;,.','.......',,,;;;;::;;;;;,,''''''''..........,;:::::;:::::::::;:::::::::::clxKWWWWWWWNXXXXXXXXXXXNNNWWWWWWWWWWNNXX0OxollllllllllllccllllcccccccodOXWMMMMMN0dc;;;;;;,',,'....'',,::cccclllxOd::cllccccccccccccclllllllodk0XNNNNXXXXXXXKKKXXNNNNNNXXKOxollllllllllccccccclllcclccclllcccllcccccccccccclcclllllloloooooood
olc;'....''''''''''''''',;;;;;;,,,,,,,,;;;,,,,,,,,,,,,,,;:;,,cloooddddddxxxxdddddooooooooooooooooooooollllolc:::,''..':loooloooooooc;'...coooollooooollloooolllooooolllool,';'...'.''',,;:;;;:::okXNNNWWWW0dc:::::::::::::;;;;,,,,,,,,,,,,,,;;;;;;;;;;;;::::::;;:::::;;:::::::::::::::;;;:::;;;........ ...'',;;;,;;:::c:c::;,,,,,,,,'''......';,;:::::::::::::::::::::::cd0NWNNNNWNNNXXXXXXXXXXXXNNNNNNNNNNNNXKOxolllllllllllccccccclccccc:coOXWMMMMMMMMMMMNKOkoc:;'.''.....''',:::::ccccol:;:cccccccccccccccllldxkOKNWWNNXXKKXXXKKXXXNNNNNNNXX0kdolllllllllccccccccccccccccccccccccccccccllclcccclcclllllccccclllllll
olll:;,'''...'........'',,,,,,,,,;;;:::::::::::::cccloooodollodddddddddoooooooooooooooooooooooolooooooololclldo,.....:oooooooooooooolc:;cooooooloooolllloololllllooooooodo:,,'. ...'''',;:::::::l0NNNNNWWNKxc::::::::::;;;;,'''''''',,,;;;,,;;;;;;;,,;;;;;;;;;;;;;;;;;:;:::::::::::::::::::;',,..... .. ..';,,;:;,;;;;;::cloollc::;,,,,'''''..';,,;;;::::::::::;::::::::lxKNNXXNWWWWNNXXXXXKKKKKKKXXXXNNNNNNX0kdlllllllllllllcccc::cccc::cldk0XXNNWWWMMMMMMMMMWXklcc:;,'........',;::::;;;;;;;:cccccclllooddxOOKXNWWWNNXXKKKKKKKKXXNNNNNNNNNXK0xolllllllllccccccccccccccccccccccccccccllccccclcccccccccccccllcccccccccc
cclllooc:;,''''.......'''',,;;::ccccllllloooooddooddxxdlllllllllccloooooooooloooooooooooolllollooooolollxkdlc:;,,,'',::cooolooloooollodoooooooooollclllllllolloooolloooodl;,,;'. ...'''',;;::::::o0NNNXK0Okoc::;;;;;;;;;;;,....''''''',,,,,,;;;;;;,,;;;,;;;;;;,,,,,,'',;;;;,,,,,;,'.',:::;;;','............,,..,::;;;,;;;;;;::clloolc::;'',,,,,,,;;;;;;:;;::::::;::::::coOXXKXNWMMMWWNXXXXKKK00000000KXXNNNX0xolllllllllllccccc:::cclcccloxkOO000KKKXXNNNNWWWWWXxc;;;;:;,,,,;;;;;;;:::::cccllodxkOOOO0KKXXNNWWWWNNXXXKKKKKKXXXXNNNWWWWWNNNXXKOdolllllllclllcccccccccccccccccccccccccccccccclcccccccclllcccccccccccccclod
xxdddooooolc:;,,,',,,,,;:::cclloooooddooddddddooooooooc:::::::::::::looollloolooooooollooolllooooolclk0kxl;;:::::::;::;;:lllooooooooooooooooollolllclllooollooollollolooooc;;:,. ....''';;;;:::::oxxxolc::;;;;;,,,,,;;;;;,.....'.'''..''',,;;;;;;;;;;;,,;;'...''..............''. .,cc::::;,.............;:,.'::::;;;::;;;;;,,;;:clolc:::;,,,'',::::::;;:::::;;;;;::cd0XKKNWWMMMWNXXKKKKK00OOOkkOO0KXXNX0xollllllllllccccccccccclllloddoxk0KKXXXXXXXXXXXXXXXKkl:;;;;;::::::::cccclodxO0KXNNWWWWWWWWWWNNNNXXXXKKKKXXXNNNNWWWWWWWWWWWWNNXK0kdllllllllclllccccccccccccllcccccccccccccccccccccccccccccccccccccccccccccoxOO
ooollllllollc::ccccllllloddddddddoodooodoooooooooooool:::::::cllllllloooolcloooooollolloooolooooooc;;;::;',:::::::clllllllllllllllooooooooooolloooloolloooolllollloolooloddc::;'. ....''',;;;;;;:;::::;;;;;;,,''....';;;;;;,'..''''''......',;;;:;;;::;;,,'.';;::;;;;;;;,...'',,;,''';odc::cc;'.'''.'''''',:::,,;,,;:::c::;;;;;;,,,,,;;;cllcc:;,,',::::::::::::;;;;;:cx0KKXNWMMMWWNXXKKKK0OOkkxxxkkO0KXX0xolllllllllccccccccllllccllclodddddkO0KXXXXXXXXNNNNXX0xl:;;;::::::::ccclodkO0KKXXXXXXXXXXXXXXXXXXXXNNNNNWWWWWWWWWWMMWWWWWWNNNXKOxollllllllllcccccccccccccccccccccllcccccccc:ccccccccc:ccccccccccccccccccloxOOOk
oolllllloooooooddddddddoodddoooooooooooooooolloolooooc::::::clddddddddddddoollooooooollooooolloolcc;'...;lddc:::::ldddddddddoooolcldooooooooooooooloollooloololllooooooloddl:::,........''';;;;;;;,,,,,,,''''........',,;;;,''''''';;;;;,,''',;;::;;::::;,,,,,;;;;:::::::;,,,;;:::::coooc:c::,.......',;;;;;:::;;,''''',,;;;:::;;;;;;;,,;;;:clc::;,,;:::::::::;;,,;;cxO0KNWWMMMMWWNXKKK00OkkxxdxxkkO0KKkollllllllccccccccccccccccllllllodddoodxk0KXXXXXXXXNNNNXOoc:::::::::cclodkO00KKKKKKKKKKKKKKKKXXXXXXXXXXNNNNNNNNNNNNNNNWWWWWNNX0kdllllllllllccccccccccccccccccccccccccccccccccc::cccccc:::cccccccccccc:ccldkO00Okx
odddddddddddddddddooooollooooooooooooooooooolloooloolc::::::lddddddddddddddollloooolooolloolloolcc;..;:lldxl::::::lddddddddddddddooddooddoloooloolloolllooooooollloooooooool:::;'.......'''',;;;;,,,,'''''...........',',;;'.''''..,::::;;,,,,;;::::::::;;;,','''''',,,,,,,,;:cc::::cll:::c:;'........,,,'..,;:;,,,'...',;:::;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;,,,;cdk0KNWWMMMMMWNXKKK00Okxxdddxxkk00OdllllllllcccccccccccccccccccclcccloddddooodxkO00KKKKKKXNXKklc::::::cloxO0KXXXXKKKKKK00KKKKKKKKKK00000000OOOOOOOOOOOOO00KXXNXKOxolllllllccccccc:cc:ccccccccccccccccccccccc:ccccc::ccccccc::cc:ccc::ccc:cldkOOkxxdoo
coddddddoddooooodddoooollooooooooooolooooooollooooooc:::::::lddddddddddddddoooooooolloooloollccc:'.'cooodxoc::::::lddddddddddddddddddddddoooooooolllolloooooooooollloolloool::::;............';;;;,,''''''...............',''',;;'.';:::::;;;;;;:::::::::;,'................,;;;;::::;;:ccc:,,'.....',,'',,;;::;,,,;;;;::::c:;;::::::::::::::;;;:;;:cccc:;:::::::;cdkOXNWWMMMMMMWNXKKK0OkxdoodxxxxOOxolllllllccccccccccccccclcccccclcc::cooodddooooodxxkkkxxdddddlc:::::ccox0XWWWWWNNXXKKKKKKKXXXKKKKKKK000OOkxxddddddxxxddddxkkkxolllllllllccllccccccc::::c:cc:cc::ccccccccccccc::cccccccc:cccccc:c::::::cldkOkxxdoolll
,,:oddooooooooododdoodoolooooolloooooooooooollooolooc:::::::lddddddddddddddddddddddollooooooolc:..;loooodkoc:::::coddddddddddddddddddddddooloooooooollloooooooolllllloloooooc;::;,............,;;;;,,'''''''''......''''.'',,;::;;,,,;:::::::::::::::::::;'.................,,'.''''...,:::;;'......''';;:;'..;:;,;::::::::cc::c:::::cccc:ccccc:::;;;::ccllolllolldk0XNWWMMMMMMWNXXXXXK0kdoodxddxkkdlllllllcccccc:ccccccccccccccccclc::cccloooooooooollllllc:;,,''',,;:::cldxO00KKKKKKKKXXXNWWWWWWWWWWWWWNNXXKOkxxxxxxddollllllllllllllllllcccccccccc:cc:ccccccccc::cc::cccc::ccc::cccccccc::c::cccc:::lxdoxdoooollllcc:
,'.,codooolloooooooloooolooooooolloooooooooooolllllolc:::::loddddddddddddddddddddddoooooooooooolccooooolxOdc:::::coddddddddddddddddddddddolooooooooolllloolllooooooooollllool:;::,'...........;;;;;;,,'''''''''.'''',,,''',;;:::;,,',;;:::::::::::::::::;;'.................','........';::::'...',''';;::;,'';:;,;::::::::ccclllc:cc:ccc:cccccc::::::::::ccloodxxxOXNWWMMMMMMWNNNNWNNX0xdddxdodxxolllllllcccccc::ccc::::cccccccccccc::clcccllooooooooooolllc::;,,'',,;::cc::::codkO0KKXXXNNWWWWWWWWWWWWWWWNXK0kxdooooollllllllllllllllllcccccc::cccc:ccccccccccccccccccccc:cccccccc:cccccccccc::cc::;';ddoxxol:cllc::::
;,..;ooooollollooooolooolloooooooooooooooloooollooollc:::::coddddddddddddddddddddddooooooooooooooolooollodoc::::::lddddddddddddddddddddddlcooooooooooolloollooooloooooolclloc;;::,'..........';;;;;;;;,,'',,,''',,,','''',;;:::::;,,,,;;::::::::::::::::;;,'''',;,'......''',,,'''',,,;,,;:::,.';::;,;;;:;,,,;;::;:::::::::loollccllc:cccc::c:::ccc::::::::::::ldxOXNWWMMMMMMMNNNWWWWNKOxdxxdooddolllllllcccccccc:::cccc:cccccccccccc:cdkkxddooollllloooooooolllllcccccllllcc:clodxkO00KKXXNNNNNNNXXXKKKKK0Okxdoolllllllllllllllllllclccccccccc:cccccccccccccccccccccccccccccccccccc:::cc:cccccccccc:;,',:lool:,',::::::
,'..:dooodoolooooooloolloooolloodooooooooooooooooooooc::::::ldddddddddddddddddddddxdooooooloollooooooolllllc::::::lddddddddddddddddddddddlclooooooooolllollloolllllollllllllc'.,;;''..........;::;;;;;;;;,,,,,,,,,'''',,,;;::::::;;;,,,;;::::::::::::::;,,,,,,,;::;,'''''',,,,,,;;;;;;;;,,;;;;,;;;;;;;;;;,,,,,;c::::::::ccllllcccccccccccccccc:ccccccc::::::::codOKNWWWMMMMMMNNNWWWWWN0kxxxdllooolllllllccc:cccccc::cccc::cccccccc::c:cllodxkkkkxdollllllllllllllllllooddddoolllooooddddxxxxxxxxxxxdddddoooooollllllllllllllllllllllccc:cccc::c:ccccccccccccccccccc:cc:cccccccccccccccccccccccccccccccc::::::;;;;;;:::::
...:oddddoooooooooooooooooooooooooooooooooooooollllllc::::::ldddddddddddddddddddddddoooooooooooolloolllollc:::::::lddddddddddddddddddddddlcooooooooooooolllllllllllolclloolcc,.',,'''.........;:;;;::::::::;::;;;,,,,,,;;;::::::::;;,,,,;;;;:::::::::::;,''',;;,;;,'''''''','...'',,,,,;;;;;;;;;;;;;;;,;;;::ccllc:::::ccccc::c::cccccclcccccccccccc:::::cccc:lodkKNWWWMMMMMMNXNWWWWWWXOxxxdollollllllllcccc:cc:cccccc::ccc:::ccccc::lollc::;:clloddddoollllllllllllllodddddddoooooooooooooooooooooooooooooooolllllllllllllllcccllcccc::ccccc:cccccccccccccccccccccccccccccccccccccccccccccccccccc::ccccccccccc::c::::::c
':lddddddooooooooddooooooooooooooooooooooooooooollc:::::::::ldddddddddddddddddddddddddoooooooolllllollloolc:::::::lddddddddddddddddddddddlcllllllloolllllllllllllllllllllllc:,..'',,,.........;:;;;:::::::::::::;;;;,;,;;;:::::::;;,,,,',,,;;;;::::::::;,,''',,'....'''''',;,',;;::;;::;::;;::::::;;::cclooooooollc::::cccccccccccclccccccccc:::::::::::cccclodx0XNWWWMMMMMNXXNWWWWWNKkxxdollllllllllccccccc::cccccc:::ccccc:::cc::cdkOOkxdoolc:;;:cclllodollclcclclldkOkddxdolllllloooooooooooooooollllllllllllllllllllcclccccccccccccccccc:cccccc:ccccccccccccccccccccc::cccccccccccccccccccccccccccc:cc:::c:::::c::cc
ooddddddoooooooodddoooooooooooooooooodoooooooooolllccccccccclddddddddddddddddddddddddddoooooollllllooooollc:::::cloddddddddddddddddddddddlcllllllllllcclllllllllolllcc::;;,,,'..','..........';:::::::::::::::::::;;;;;;;;;;::;;;;;,''''''',,;;;;;::::;;;;;,,,''...'',;;;,;::ccccllcllc:::;;::;::ccllodddddoooolc::ccc:cccccccccccllcccccccclccc:ccccccccccclddkKNNNNWWWMWNXXNWMWWWWX0kxdolclllllllllccc:ccccccccc:::coxxxkkkxxddolc:cllodxkOOkxdoolc:;;cxOkxocccccccldxdooddolcclllllllllllllllllllllllllllllllccccccccccccc::cccccc:ccccc:::cccccccccclccccccccccccccccccccc:cccccccccccc:cccccccccccccc::ccc:::ccc:::
dddooooddoodolloooddooooolodooooolooooooooooloooolollllooooodddddddddddddddddddddddddddoloooolloooooooolll::::ccloddddddddddddddddddddddoccdxdc:llllllllloollcc:::;,,,,,,',,,'..'''.....,,'''','';::::::::::::::::::;;;;;;;;;;;;;;;;,,,''''',,;;;;;;;;;;;;:;;;,'..'',;;::;;;,;::clloooooollcllclodddoodooolcccc:::ccccccccccccccccccccccccccccccccccccccccclodxOXNNXNNNNNNXKXWWMWWWNKkxdolllllllllllccccccccccccc:::cxOOOO0OOkkkOOOkxdoc;;::cllodxkOkkxxxkOOOko:::::::clllccclllccccccccllcllllllcclccccccccccccccccccccc:ccccc:ccc:cc:::ccc::::::::cccccccccccccccccccccccccccccccc:cccccccccccccccccccccc:cccccccccccc
odooooooodoooolodddooooooolooooooooooooooolllooooollllooooddddxddddddddddddddddddddxkOkoloodooooooooooc:::::::lloddddddooooooooooooloolc;,;coc,,;:ccllcccc:;;;,'',,,;,,;;,,,,,'.'''...'''','.....':::::::::::::::::::;;;;;;;;;:::::;;;;;,,,,,,;;;;;;;;;;;;::;;,,;;,,;;;:::,'''',;;:clloooooodddddddoollc::c:::cccc:c:ccccccccccccccccccccccccccc:cccccccccclddk0XNXK000000KXNWMMWWWN0xdollcllllllllccc:::c:::::::::lxOOOOOOdccccclodOOOkdc::;;;;;;clloddxkkkxxl:;::::cc:;,,,,;:::::;:::::::cccclllllcccccccccc::cc:ccc::c:ccccc:c::cccc::cccc:c::;;;;;;;;:::ccccccccclccccccccccccc:cccccccccccccccccccccccccccccccccccc
dooooooddododdooooddooodooloooooooooooooooooooooooloooooodkOOOOOkkkkkxdddddoloxkkkOO00Odooooooooooooolccc::::clloddddol:;;;;;,''''''''''.','''',:llc:;;,,,,,,,,,;,;;;;;;;,'',,,.....';,.';,'.....;::::::::::::::::::;;;;;;;;;:::::::::;;;;;;,,,;;;;;;;;;;;;;;,',;:::;;;;:;,',,,'',;,;:llloooodddolcc:::::::::::ccccc::ccccccccccclcccccccccccccc::cccccccccoddk0XXKkdddxxOKNWWMWWWWXOdoolcllllllllccc::ccccccccc::ok0OOOOko:::::::;:xOOOOxlclllccccc:::::c:::::;:::cooc;;,,,;;;,,,,;:cl:;::::ccccccc::ccc::c::::::c::cc:::cccccccccccc::cc:ccccc:;:::;;;;;:;::c::ccccccccccccccccccccccccccccccccccccccccccccccccccccccc
dooooooddooooodoooooooddddlodo:;:clooooooooooodddolccccccldxxooxxxxxddooool:::lxO000Oxdolloollooooolloollc::coooddddoc::::::;,'''''....'',,,,:loxdc:;,,,,,,;;;;;;;;;;;;;;;,'',;,''',::;'',,'....':::::::::::::::::;;;;;;;;::::::::::::::;;;;;;;;,,,;;;;;;;;,'',;;:::;;;,,,,;;,,,;;::ccllllllllcc::::::cc:::::c:cccccccccccccccccccccccccccc:ccccccccccccclldddkKXKOocccld0XNWMMWWWN0xoolllllllllllccccccccccc:::;cdxOOOOOOxdollc:;:okOOOOOkkOOOOOOOkkxxxxxxo:;;:::cxOl;;;;;;:;;,;;;:cll:::::ccc:::::::::::::::::cc:c:::cc::c:ccccc::c::ccc:ccccc:cccc::;;;;:;;:::ccccccccccccccccccccccccccccccccccccccccclccccclccccccc
ddooooddooodooooooooooddddoodl,''.'cododdooooooool:::::::::cc::::::::::::::::::cdxxxdoooooolllloolooloolllc:clllodddolcccllllllllllc;',,,;cclodooc:dOxl:,,,;;;:;;;;;;;;;;;;;;::::::::;;,.','.....;::::::::;;,,;;;;;;;;;:::::::::::::::::;;;;;;;;;,,,,,,,;;;,',;;;::::::;:cccc:::::cccllllc:c::::::::cc:::::cccc:cccccccccc::cccccccccccccccccccccccccccllcodddkKX0dc:::lxKXNWWWWWWXOdoolllllllllllcccccccc:::::c::::clodxkOOOOkxdodkOOO0Okxdddddddxxxxkkkkkl;::::ckKd:;;;;:::;;;;;::clcccc:ccllc::;;;;;:::::::::c:::::cc:::cccccccc:cccccccccccccccccccc::::::::::cc:::cccccccccccccccccclccccccccccccccccccccccclcclccc
dddoooooooooooooooooooddddool:''..,oddoooooooooool:::::::loooooolllllollllllllllodddddooooooooooolooooooollc::::lodddddddddddddddddoc::cloxxdol:;;cdO0K0d:;;;;;,;;;;;:::::::::::::::;;,,..'......,::::::;,....',,,,,;;;:::::::::::::::::;;;;;;;;;;;,,,,,,;;;;;;;::::::::odooccccccccccc::::::::::::cccc::cccccc:ccccccccccccccccccccccccc:clccccccccccccccoxddkKKkl::;:oOXNWWWWWWNKxoolllllllllllclccccc::cccc::c:ccc::::cllodxkO00OOOO0kolc:::::::::::::c::;:::lOXx::;;;:c:;;;;;;:cllooc:cclolllllllcc::::::::cc:::c:::::cc::cc:cccccccccccc::ccccccccccccccccccccc:cccccccc:ccccccccccllcccccccccccccccccccccccccccccc
oodoooooddddooddoodooddddddoc,''.'cdodooooooooooolc:::::codddddddddddddddddddddddddddddoooooooooooodoooooolc:::::ldddddddddddddddddddddddoolc:;;,,;::ccl:,,;;;;;:ccccc::c::;;:;;;;;;,,,,'.........;:;;,'...''''',,,,;;:::::::::::::::::::;;;;;;;;;;;;,,,,,,,;;;;::::::::ldlooolcccc:;::;::::::::c:cccccccccc:cc::ccccccccccccccccccccccccccccccccccccccccldxddk0Od:::;cd0XNWWWWWWXOdoolllllllllllccc::::::::::::c::cc:::::::;;:cllodxkOOOOkxxdolc:::cccc:::::::o0Kd::::::c::;;;;::cooddlccccoollllllloollllc::::::::c::c::cc::cccccccc::ccc::cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclcccc
ddooooddddooddododddoooddddl:''..;odoooooooolooolllc::::coddddddddddddddddddddddddddddooollloooooooooodolllc:::::coddddddddddddddddddddddl:;;,''...'','....';:cccc:cc::::::;;;;;;;;;;;,,,'........',;;'...,;;;;;;;,,,;;::::::::::::::::::;;;;;;;;;;,''',,,,,;;;;::::;::::::cllc:;;;;;:::::::c::ccccccccccccc:cccccccccccccccccccccccccccccccccccccccccllcldxddxOxl:;::lkKXNWWWWNNKkoolllllllllllcc::::::::::::;;::;;;;;;;::::::::;;::clooxkOOOOOkxxdolcc:::::cxK0l::;;::c::::::::ldxkkoccccooc:cccllcclllllllcc::;::::ccc:::ccc::cccccccccccccccccccccccccccc::cccccccccccccccc:ccccc:ccccccccccccccccccccccllccccclcccc
oooodddoooooodoooooooooooooc;,'.'cooooooolc::cccccc:::::coddddddddddddddddddddddddddddoc:::lodoooooolodoc:::::::::lddddddddddddddooooooooc;;,......''',,,'..',,;ccc:::::;;;;;;;;;;;;;,;;,,'.,,'.....',,...,;;;:;;;,,,,;;:::::::::::::::::;;;;;;;;;;,,,,''',,,;;;;;:;;;:::::::::::::::::::cc:::ccccccc:cc:ccccccccccccccccccccccccccccccccccccccccccccccccldxddxxdc;;;:okKXNWWNNNX0xollllllllllllcc:::::::::;;,;;;;;;;;::::::::::::::::::::cllodxkO00OOkxc:ccoO0xc::;;;:::::::::cokO0Odcccclolc:::;;:c:cllllllllllcc:;::::::cccc::::ccccccccc:ccccccccccccccccccccccccccccccccc:::ccc:cccccccccccccccccccccccllcccccccccc
llooodoooooddoooooooooooool:,'..;oooool::::::::::::::::::coddddddddddddddddddddddddddol:::::loooodollllc:::::::cllodddddddddddddoccccc:;,,;,'.....,,'.'':l:;'..'';::;;,;;:;;;;;;;;;;;;,,,,'.','''........',;;:::;;;,,,,;;:::::::::::::::;;;;;;;;;;;,,,,''.',;;;;;;;;;::::::::::::;;:::::ccc:::cccc::ccccccccccccccc:ccccccccccccccccccccccccccclcccccccccoxxddddl:;;;:oOKXNWWNXXKOdlllllllllllllc:::;;;;;;;;::::cc:cccccc:::::::::::::::ccccc:::clodxkko:cdOOxc:;::;;;;;;:::::lx0KX0dccccllllcclllc:cccllllllcllllolc:;:::::c::::c:::cc:ccc:::::ccccccccccccccc::ccccccccccc:ccccccccccccccccccccccccc:ccccccccccccccccc
ollooddooooooooooooooooddoc;,'.'lddoooc:::::::cccloooooooooddddddddddddddddddddddddddocccccloodddoc;;,;;::::::coddddddddddddddddolccccc:;:llc,...';::,,;ldolc;'..',,,,,,,;;;;;;;;;;;;;,,,,'.'''''......'',,;;:::;;;;,'',;;::::::::::::::;;;;;;;;;;;,,,,,''''',;;;;;;:::::::::::::::::::::cc::cccc:cccccccccccccccccccccccccccccccccccccccccccccccccccc:ccoxxxddol:;;:cdOKXNWNXXK0xolllllllllllllcccccc:::cccccccc::::::::ccc:ccc::::::::cccccccccclc:ccokOOdc::::cc::;;;::::cd0XXX0dcccclllclcccllllcllllllllcclloooolc:;::::::::ccccc::cc::c:cc:::cc:c::cccc:c::cccc:cccccccccccccccccccccccccccccccccccccccccccccccccl
dolcldoooooooooooooooodddc;,,..:dddodoc::::::looddddddddddddddddddddddddddddddddddddddddodddddddddlc:;;;:::::coddddddddddddddddddddddddddddddo;...':lcclc:loccc:'''',,,'',;;;:;;;;;;;;;,,,,,''.........,;,,;;;;;;;;;,,',,;;::::::::::::::;;;;;::;,,;;;;;;,,',,,;;;;;::::::;::::::::::::::::::ccc:ccccccccccccccccccccccccccccccccccccccccc:ccccccccccccccoxxxddolc:::cxOKXNNXK00kdolllllllllllllllllllcc:cc:::::::::::::::::::::::ccccccccccccccc:cclxO0koc:::cclcc::::::::lkKXXKkocccclcc:::cccllllllcclllllllllollool:;:::c:::cc:::ccccc::cccccccc::::ccccccccccccc:ccccccccc:cccccccccccccccc:ccccccccccccccccccccccc
looccoddoooooddooooooodol:;,'.'looddlcc::::::ldddddddddddddddddddddddddddddddddddddddddddddddddddddoc::::::::codddddddddddddddddddddddddddddddo;''';clol::cxxc:clc,'''',,;:::;;:;;;;;;;,;;,;;,'''...'''';;;;;,;;,,;,,,,,,,;;;:::::::::::::::::::;;;;;;,;;;,,;;;,,,,;;::;;;;::;;::::::c::cccc:ccccccccccccccccccccccccccccccccccccccccccc:cccccc::::::;;;:ldxxxddolccclxO0KXXK0Okxolllllllllllllllccllccc::::::::::;::c:::::;:::cccc::cccccc:c:::cldOK0xlccccclllc:::::::cokKXXKOdlccccllc:::::;:::cclccclllllollooolllc:;::::::cccccc::cccccc:cccc:ccc:cccccccccccccccccccccccccccccccc:cccccccccccccccccccccccccccccccc
:clccloooooodddooooooooc;;,,'';coxoccooooloooodddddddddddddddddddddddddddddddddddddddddddddddddddddl::::::::::lodddddddddddddddddddddddddddddddocllllc:;:cccc:::lo:,'..,;::::::;;;;;::;;;;;;;:;;;,,;;;,,,,,,,,,'..'',;;;,,,,;;;;;::::::::::::::;;;;;;;;;;;;;;::;,,;::;;;;;;::;;::::::cc::::cccccc::ccccccccc:cccccccccccccccccccccccccccc::::;:;;;:;;;:::ldxxxxddolllodkkO0OOkxdoollllllllllllllcc:cc::::::::::::::::::c:cc::ccc::::cc:::::::ccokKKOdlcccccllcccccc:cclxOKXXKOdlcccclll::::::::::::::::ccc:ccccccccc::::::::::::c:cc::cc::ccccccccccccccccccc::c:::cccc:cccccccccccccccccccccccccccccccccccccccccccccccc
;;;;;:cclodddoddoodool:,;l:,,,,;xOlcooodooooooooooooooooooodddddoooooooooooooooooooooooooooooodddddl:;:::::;;;:looooooooooooooooooooooooooddooool:cllc;;::;;:clc:;''...';;::;:::;:::::;::;::::::::;;;;;;,''.........',;;;;,,;;;;;::::::::::::::;;;;;;;;;;;,;::;;;;;;;:;;;::::c::::::ccc:c::::ccccc:cccccc::cccccccccccccccccccccccc:::::::;;;;;;;;:;;:;;;ldxxxxxddooooddxxxxxddoolllllllllllllllc::::::::::::::::::::::::::ccc:::::::::::::clx0NXOdllcccclllcccccccldOKXXX0kdlccllclol:::::::::::::::::::::;:::::::::::::::::::c::::::c::::c:::cc::cc:cc::ccc::c:::cccc:ccc:cccc:cc:cccccccccccccccccccccccccccccccllccc
;,,,',,,,;:lloddooooc;;;:llccccokd::c::clooodl;'''',,,'',;::::c:,''''',,,',,,,,'''',,'''''''':oddddl:;::;;::::;,,,,,,,,'''''''''''''''''',;;,',,;;,,cxo;;;;;llc;,,,....';:::;;:::::::::::::::::;::;;;;;;;,'''''....''',;:;;,,;;;;:::::::::::::;;;,;;;;;;;;;;;;;;;;;:;:::::::cc::::::cccccc:cccccccccccccccccccccccllccccccccc:::;;;;;;,,;;;;;;;,,;;;;;;;;:oxxxxxxdddooddddddooooollllllllllllllllc::::::::::::::::::::::::::cc::::::::::cldOXWN0xddolclloooolllloxOKXXXK0kollllllcldl;;:::::::cc:::c:::::::::ccc::cc::::cc::::c:::::::::::::cccccc:c::::c::c::ccccccccccccc:ccc::cc:cccccccccccccccccccc:ccccccccclccccc
''''',,,;,,,,:cclllc;;,,,;;:ccclc,:ol:;;;;;:lc,..........';;,'''''''........................',;;;;;;:::;;;cc:c:,'..............................',;,,,:c;,,;::;,,;:c;'.';;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;,,,,,''''..''''',;;,,;;,';;;;;;;;;;;::::;,,;,,,,,,;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::c:ccccccc:;;;;;;,,,,,;;;;;;;;;;;;;;;;;;;;;;::coxxxxxxxxdddddddooooooollllllllllllllllc:::c:::::::::::::::::::::::cc::::::ccoOXWMWX0OOxollodxxxdddxk0KXNXXKOxolllllllllll:;;::::::::c::::cc:ccccccccccccc::::ccc:::c:::::::::::::::::cc:::::ccc:::::cc:::::cccccccccc:c::cccccccccc::cccccccccccccccccccccccc
...'',,,,;;;,,,,;c:;,;;;,,,,,;;,.,c:'','.';;;;,,,;:;;,,,,,;::;;::cc;;;,,,,;;;,,,,,;,,,,,;,,,;;'....';:oxdxxxxxxxddddddddddddddddddxdddddddddddddxxxxxxxxxxxxxxxxxxxxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxdxxdxdddddddxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxo;,;;;;;;:::::;;;;;;;;;;;;;;;;;;:::ldxxxxxxxxxdddddoooooooollllllllllllllll::::c::::::::::cc::::;;:::::::::::okKNMMMWNX0kolodxkOOOOO0KXNNNXX0kdlllllllllloc;;;;;::ccc:::cccclllllcccccccccccc:::::ccc:::::::::::::::::::::c::::ccccccc::c:::::cccccc:cccccc::cc:cccc:ccc:c:ccccccccc:cccccccccccc
,,,,,,,,,,,,,'',,;;::::;,,'...',;:;',;;'.,oxl:;'','',,,,,;;::::;coolccc:::::;;,,,;,,,;;;::::c:;;,;;;;:k0ddxxxdddddddddddddddddddddddddoodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddkOOOOOkkOkkkOOxdkOOOOOxxd;';:::;;:;;;;;;;;;;;;;;;;;;;::::::cddxxxxxxxxxdddddoooooooolllllllllllllllc:::::::c::::::::c:::ccccccccc:lx0NWMMMMWN0xoodxO00KKKXXNNNNXXKOxolllllllllloooc::::cccc:cccclllllllllllllcclllcc::::c::c:::::::::::::::::::::c:::cccccc:cc::ccc:::ccccc:::cccccccc::ccc::cccccccc::ccc:cccccccccccccc
;,;;;;,,,,,,'',,;::,,,,,'....',;;codxdc,',:c;,,,,,,'',;,,;:::::::odddddddollc:;;;;;;:ccllclcc::ccccc;:OOld0kooc:coloolllcccccccccccclolccllllcllclcccllcclllcclolcccccclolccccclcccccc:loloocclcccclccccccloolccllllcllclccllccccllccooccccllcllccccclccccccccccccccccccccccccccccccccccccccc:ckKOO0OdxkooodxlcO0xddkl:o;';;;;,,;;;;;;;;;;;;;;;;;;;;;;:;;;:odxxxxxxxxxddddddoooooooolllllllllllllllc:::c::cc::cccclllllllllollox0XWMMMMMWXOdodxO0KKXXNNNNNNNXX0kdollllllllccclolccc:c::;:::cllllllllllloollllloc::::::::::::::::::::::::::::c:::c:::cc::cc:::::cccc::::cccccccccccc::cccccccc:cccc::c::ccccccc:ccccccccc
c:::;,,,,'',,,;::;'.......',,'';:'':ldxxxdl:;,,;;;,,,;::::::::::codddddddddddoccclloolcclllcc:::::::;:kOld0l'lo;cdxxdoddooooooodoodddddlcododddoodoooddoddddlcodlcodddodddoddodoodc:cc:lxxxdodooooodoodoodddoolcododddoodoooddddoddccdoclddddddddddoododocccccccccccccccccccccccccccccccccccc:ck0dodkoxxlxdlocckOo:cdl:o:';;;,,,;;;;;;,;;;;;;;;;;;;;;;;;;;;lddxxxxxxxxddddddoooooooolllllllllllllllc::::::ccllllllllllllcclodOXWMMMMMWN0xdoxk0KKXNNNWWNNNNXK0kdlllllllllcc:::::;;;;,,,,,,;:::cllllollllolllllcc:;;::::::;;::::::::::::::::::::::::::::::::::::c::cc:cc:ccccccccccc::cccccccc:::::ccccccccccc::cccccccccc
ccccc:,''',;::;;'.......'''....';cc,..';codxdc::;;;;;;,:c::::::codddddddddddddddddxxdolcc:cc:::::::;,;kOcokooxl;ccccccllllllllclccllcclccclclllcllllccclllccccclcclllolllllllclllccccc:clcllcclllccllcllllllccccllccllcllllccllllclccclcclloollllllcclllccccc::cccccccccccccccccccccccccccccc:coo;,:lcll::::c::ooclcc::o;',,,,,,,,,,,,;;;;;;;;;;;,,;;;;;;;;:oddxxxxxxxdddddddoooooooolllllllllllllllc:;:cclllcllllccclllldkKWMMMMMMWKOdodkO0KXNNNWWWNNNXXKOxollllllllllc:,,,,,;,,,,;;;;;,;clc:clollllloolollc::::::::::::::::::::::c:::::::::::::::::::::cccccc::c::cccccccc::cccccccccccccccc::ccccccc::ccccccccccccc:c
llloxdooodddo:''.......'.....',,;cl:;,''',,,,,;:cc::;,',;::::::codddddddddddddddddddxxdc;,;;;,;:c:::;:k0doooooodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooodooooddoooooodd;''',,,,,,,,,,;;;;;;,,,,;;;,;;;;::::ldddxxdddddddddddoooooooollllllllllllllll::cllllccllccccclok0NMMMMMMWX0xddxO0KXXNNWWWNNNNXK0kdllllllllllc::;,,,,,,,,;;;;,,;;:clol:clllllooollcc::::::::::::::::cccc:::::c::cc:::c:::::::::::::::::::ccc:cccc:c::cccc::c:::cccccc::::c:ccc:::cccccccc::c:cc:c
O0KKXXXKKK0Okd:'....''...,,;:;'.',:oxoccc:;,,,,:do:cc:;;;::::::codddddddddddddddddddxxo:;'.''.;ccc:::cO0kOkdxxdxkkOkkkkddkkxdxxkkkOxxkxxkkkkkkkkkkkxdxkkkkkkkkxdxkkkkkkkkkxxkkkkkkOkkkkxxxkkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOx;'',,,,,,,,,,,;;,;;,;;,,;;;;::::::::codddddddddddddddoooooooollllllllllllllllllllllllllllccldOXWMMMMMWNKkddxk0KKXNNWWWWNNNXXKOxollllllllllcc:,,,,,,,,,,,;;::::cclccc;;cllllooolcc::::::::;:::::c::::::cc::::::::::::c:ccc:::::cc:::::::::::c::c:::::::::::c::::::::c:::::ccc::::cc:ccc::::c::::c
XKOkxdddxkkxol:'..''..'',,,''''',c::odl:::clol:;;;;:;:::::::::codddddddddddddddddddddo:;;',;',ccccclc:k0kOdlddccldkkkOxlokdclclkOkkkdooolcooloxkkkkoooooodkkkkdldxoloooolllclllooxkkkOxlolllclllxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOx;',,,,,,;;,,,;;;,;;;;;;;::::::::::::cldddddddddddddddooooooooolllllllllllllllllllllllllllldONMMMMMWNKOxddkO0KXXNNWWWNNNNXK0kdllllllllllllcc:::;;;;;:;;:ccllloolc::::;;ccloollcc:::;;;::;:::::;::;:::;::::::::::::::::::::::::::::::::::::::ccc:::::::::::c:::::::ccccccccccccccc::::ccc:cc::::cc
00Oko:;;:c:;'.....','...''...''':odlccoc'.';:c:,,,,;;:::::::looddddddddddddddddddddddoc,'.,'':lccccllck0kkxodxoodxkkkOxllddoodxkOOkkdlddodddddkkkkkdlloddxkkkkxxkdllddxddddddddddxkkkkxooooddoldxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkOx;',,,,,,;;;,,,,;;;;::;::::::::::::::cloddddddddddddddooooooooollllllllllllllllllllccccccld0XKOO0KKOxodxO0KKXNNWWWNNNNXXKOxollllllllllccc:::c::::ccllccclloolllllclooc:cllclcc:;;;:::::;::::::::::::::::::::::::::::::::::::::::::c::::::c::ccc:::::::::c::c:::::ccccc::ccc:cc:::c:::::cccc::cc:c
OOkxl;,,'...............';,,',,;;,',,,:l;...'..''..,;:::::clodddddddddddddddddddddddoool::,',cllcclollO0kkkxxkkkkkkkkkkkxxkOkkkkkkkkxxxkkOkkkkkkkkkkxxkkkkkkkkkkkkxkkkkOOkkkkkkkkkkkkkkxxxkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkOx;',,,,,,,;;;;;:::::::::::::c:::::::::clodddddddddddddoooooooooolllllllllllllllllcccccccccloolcloooodxO0KXXNNWWNNNNNXK0kdlllllllllllccc::::::::ccllllccclllc;:codddxxo:;:c:::;:;;;:::::::c:::::::::::::::::::c:::::::::::::::::::::::::::::::::::c::::::::c::::::::c:::::c:::c::::c:::ccc:::::::c
oc;,'.........';lc;..'',clolc;,',,'..';;;,,'........,:::::codddddddddddddddddddddddoc:clddollcccc::ccckOkOOOkOOOOOOOOOOOOO00OOOOOOOOOOOOOOOOOOOOOOOOOO0OOO000000000OkkOOOOOOOOOOOOOOOOkkkkkkOOOOOOkOOOOOOOOOOOOkkkkO0OOOOOOOOOOOOOOkkxxxkOO00OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkOOOkkl,,,,,,,,,,,,,;;,,,dk;',,,,,;;;:::::::::::::::cc:::::::c::ccloddddddddddddoooooooooolllllllllllllllllllcccccccc:::cclldxkO0KXNWWWNNNNXXKOxolllllllllllcc::::::::ccccccccllccc:;,,;:lddxxoc::c::;::::;;:::::::c:::::::::;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::cc:::c::::cc::::ccccc:ccc:::c
,'........''';cool:,',,:ok00kdl:;,;;;,'';cc;,,,''..',;::::coddddddddddddddddddddddl;',:ccoddolllcc:::cx0O0Okxkkkkkkkkkkkk00OkkkkkkkkkkkkkkkkkkkkkkkOO00000OOOOOOOxolccldkkkkkkkkkkkkkkxxO00kddkOkkkkkkkkkkkkkkxodc;x0kkkkkkkkkkkkkxxOOkxdxOOOkkkkkkkkkxxxxxxkkkkkkkkkkkkkkkkkkkkxdoddxkkkkkkkkkkkkx; ....... lk;';;;;:::::::c:::::ccc::::c:cc:::ccc::::loddddddddddooooooooooolllllllllllllllllllllcccccc::::ccloxO0XNNNNNNNXXK0kdlllllllllllccc::::;::cclllccccllllllcc:;;;;:looolcc:;;;;;;;::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::cc:::::::::::::::cc::ccc:cc::::::::c:c::::c
''...........',,',::;;,,;cldO0Oxxxoc:;,,,;cc:::;,,,;,,;;;;:ldddddddddddddddddddddl;.':c:,,;cccxxc::::cx0O0OkxkkkkkkkkkkOOOOkkkkkkkkkkkkkkkkkkkkOOk0000OOkkkkkkkko:ldddl:okkkkkkkkkkkkOkONN00KkxkOkkkkkkkkkkkxox0KxldkkkkkkkkkkkkkdxKKkkkolxOkkkkkkkkkdx00OkO0xdkkkkkkkkkkkkkkkxxkxxxllxOkkkkkkkkkkk; .'',:ccc:,... lk;,::::::::::::::::::::::::cc:::::::;::::cloddddddddooooooooooooolllllllllllllllllllllcccllloooodxk0KXXNNNXXXK0kdollllllllllccc:::::;::ccloolclllllllllllllc:;;:clcc:;;;;::;;;;:::::;;::;:::::::::::::::;::::::::::::cooooooooooooooooooooooooooooooooodooooooooooooooooooooooooooooooooooooooodo
'..........,;,'',,,;,,,;::::cccxOOOxolc;,,;col;,,;::;;;,,;:loodddddddddddddddddol;',;:::cc::::cc;;::::k0O0OkxkkkkkkkkkkOOOOOOkkkkkkkkkkkkkkkO0OOOO00OkkkkkkkkkOxc:oOKOo:cxOkkkkkkkkkOOxkXX0KNXxk0OkkkkkkkkOxoOXKKX0ddkkkkkkkkkkkkdxKkdOx::dOkkkkkkkOxdKW0okNMOdxc:dkkkkkkkkOkxdxxddl:cx00OOkkkkkkkk; .'',,'..,clc,. lk;,cc::::::::::::::::::::ccc:::::::::;:::::loddddddooooooooooooooolllllllllllllllllllllllllloxkO00KKXXXXXK0Okdollllllllllllcc::;;;;:cccllllllllllllccccccc:;;::;;:::::;;;;;;;;:;;;::::::::::::::;::::::::::::::::::coxOOkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.,;;,.....',;;,;ldl;'.,:c:;;;;;;codxxxl,,;;:od:,,;,,;;;;;;;:ccccloddddddddddddl;,',;,,,;:cllolc::;:::ck0O0OkxkkkkkkkO00kOOkOkkkkkkkkkkkOOO0000OO000OkkkkkkkkkkkkdcclllccdkOkkkkkkkkOOkxkXX0KNKdxOOkkkkkkkkOxdKKolOXkxOkkkkkkkkkkkkxxocccldxkOkkkkkkOxoOX0OOKXkdkxxkkkkkOOO00Oxx00OkdclkOO000OkkkOOk; ..;c;,,,,:cc:. lk;,:c::::::::::::::::ccccccc:::::;::::::::::cooooooooooooooooooooollllllllllllllllllllllllllllodxkkOOOkkxdoolllllllllllllc:;;;;;;;:cclcllcclllllcc::::::;;;:cc;,;;;;;;;;;;:;;;;;::::::::::::::::::::::::::::::::codxxddoodxdddddodooddddooddddddddddddooodddddddddddolllldxxddoddddoddddooddddddd
',;;::;,,;:;,;:lodl;,,':lc;;;;;;,,:codo:;:llll:;,,',;,,;;:::::::codddddddoool:;'.,;,';:,'.',;::ccc::;:x0O0OkxkkkkkkOO00OkkkkkkkkkkkkkOOOO00OOkOO0OOkkkkkkkkkkkkkkxoooddxkkkkkkkkkkOOkkkxkOOOOxxkOOkkkkkkkkkkxkxdxkOxxOkkkkkkkkkOOO0kddddxkxkkkkkkkkkxddxxxxxxdxkkkkOOOO000OOOxddxxxodkkkkOO00OkO0Ok; .:cc;...',;;,. lk;,:::::::::cccc::::cllccc:::::::;:::::::::::loooooooooooooooooooollllllllllllllllllllllllllllllllllllllllllllllllllllc::;,,,,;;:cclc::ccllllccc::;:::;;;cllc::::;;::;::;::::::::::c:;;::::c::::;::::::::::::;coddxxdlllodddddddddddddoooodddddddddddoooooddddddddddoolloddddddddddddddoooddddddd
',,,;:;'',::;;;;;;,'''',;ccc:::,,,;;:loolcccc:c:,,,,'',;::::::::coddddddoc;,'..,,;cc:;;;;;;;,',;;::c:ck0O0OkxkkkkkOOkOOkkkkkkkOkkkkOO00OOOkkkkOOkkkkkkxkOkkkkkkOxoddxkxxdxkkkkkkkOkoldkkdodxdxxxddxkkkkkkkxddddxkkkkxdxkkkkOOO0koxkdxxxxxxxddxkkkOkooxxxxkxxxxxodxxkkOOOOOkkkdlloddxxddkkkkO00000kx; .;;:cc;,,;cc:' lk;,::::c::ccc:::cccccccccc::::::::::::::::::::cloooooooooooooooooolllllllllllllllllllllllllllllllllllllllllllllllllcc:;;;,,,;;;:ccc::::cllcc:::::cc::;:ccccccc:::::::::::;;:::::::::::::c:::::::::::::::::::cdkOxdxkkkkkxxkxxkkkkkkkkkkkkkkxxxkkkkkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
,,;:::,...';;;,..',,'',,,;ccc:;,;;:cccclc;;:cc:::;;;;;::::::::clooddddddoc,''',;;;::::;;;;;;;;:;;;;;;:k0O0OkkkkkkkOOkkOkxxkkkkkkOO0000OkOkkkkOOkkkxkOkxkOkkkkkkkxooooolc:lxkkkkkkOxoooollcllclollooxOkkkkOxooollcloolcokOOO0OOOxooocll:clloloodkkOxldxl:lollllollocoookkkkkkOdlddlcllcokkkkO0000Okk; .,..,;;;;;,.. lk;,::::ccccc::::clcccclccc:::::::::::::::::::::cclooooooooooooooooollllllllllllllllllllllllllllllllllllllllllllllc::;,;;;;:cccc::::cllllc:;;;;:ccc:;:ccllccc::;;;:::::;:;;:::;;::::::::::::::::::::::::cccldOOkdooxO0Okxxddxk0OkxdddxkOOOkxddxO0OkxxdxkxxxxddkOO0OkddddxxO0000000000000000000O000
;,,;:;'''',;;,'....',,'',;;;:cccccccl:;:lc;;;ccc:;;;;:::::::ccldddddddddolc:::::c:;,,:c:;;,;;:::;;::;:k0OOkxxkkkkO00OOOkOOOkOOOO000OOkkOOkOOOOOOOkkOOkkOOkkkkkkkkxxOkxxdoxkkkkkkkOOkOkkxxxxkxkkxxkxkkkkkkkkxkkxxxxxkkxkOOOOOkkkkxxkxxxddxxdxkkkOOOOkOOxdxkkkkkOkkxxxxxkkkkkkkkkkkxxxxxxkkkkO000Okkk; .. lk;,:ccc::::c::cccccclccc::::::::::::::::::::::::::clooooooooooooolllllllllllllllllllllllllllllllllllllllllllllcc:;;;;;::ccclc::ccclllcc:;;;:::::;:cllllccccc:;;;;:::::::;;:::;;;;;::::::::::::::::;::::cdkOOkkkxxkOOkxxkxxkOOOkkkxxkxkOOkxxxxOOOOkxxxkxxxxxxxkOOkxxxxddkOOOOOOOOOOOOOOOOOOOOOOOOO
:;,,;;,''',;:;,'....''',;:::::cccc::clc:ccc::::cl::;,,::::::ldddddddddddddddoloooo:,',,;::;;;;:cc:;;;:k0OOkkkOkOOO0OOkOOOkkOOO00OOkkkkkOOOOOkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkOOOOkkkkkOOkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkOxllllcclllllcccllllxk;,:cc::;:clccccccclcc::;::::::::::::::::::::c::::::clloooooooololllllllllllllllllllllllllllllllllllllllllllc::;;;;:::cccccc::clccc::;;;:ccc::::clllllcccc:;;;;;;;:;;:::;;;;;;;;;:::;;;::::::::::::::cdk000OOO000000000000000OO0000000000000000000O0000000000OO00O0000000000000O00000000000OOOO00
c:;;,'..':;;:;;;,,;;,,;;;:cccl::clc:::ccc::cc:;;::::,',:::;:ldddddddddddddddddddddl:;,,'',,;;;;ccccc;:k0O0OOkOOO0000OkOOkkO0000OdokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkddOOk00OOkOOOOOOOOOOO00OOx;,:::::cccccccccccc:::::::::::::::::::::::;:::::::::ccllllolllllllllllllllllllllllllllllllllllllllllllllcc:;,;;;:::cccccccclccc:;;;;;clccc:::cclllcccccc::;;;;;;:;;;:::::;;:;:::::::::::::::::::::cdO000000000O0000000000000O0OO00000KK0000Okxddk0000000000000OkO00000000OOOkddOK0000000OO000xk0
::c:,'.,:c::,,,;:::::;,;cc;;clc::clc:::llc:::::::;,'',;;::clcloddddddddddddddddddoc::c:;;,,,,'',;;cl::k0O0OkxkkxO00kkkkkOO000OOkldXKXNNNNNWWXXXXNXKKNNXKXNWWNXKXXNNNXXNWXKXNNKXXKNXNNXXNXKXXNWNNNXXXXXXNWXNNXKKXNNXNWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWX0OO0xoOOk0OOkkkxkkkkOkkO0OOkOk;,::::cclccccccc:::::::::::::::::::::::::::::::::::::::ccllllllllllllllllllllllllllllllllllllllllllllcc:;,,;;;;;::cccccllllc:;;;;:ccccc::::cccccccccc:::::;;;:::::;;;::::;::::::::::::::::::::::lxO0OOO0O00O0000000O00OO0OOO000000000000Oxdkkoodk000000000KXNX0O000000OkO0KKkdk0000000OO00OxxkO0
::cc::;;;:c:;;;:cc::c:;:ccc:;;;:cc:clc::ccc:;;:ll;....',;::;,coddolcccllllllllccc:;,';::::;;,,'...';;:k0O0OkxkdcdkxlloloddxxxdxkloO0XNK0O000OkxkOkkO0kOOkO00OOOOK000kO000Ok0KxOkxKOkxxO0kxOOKNKk0kxkxxOWNkxxOkO0kOd0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXxc:xdoOOk0OOkkxoxxooodoxkdxxOk;,ccc:cccc::c::::::::::::::::::::::::::::::c::::::::::::::ccllllllllllllllllllllllllllllllllllllllc:;;;,,,;;::::ccccclllcc:;;;;:clc::;::cccccccccccc:::::;;;:::::::;;:::::;;;;;::::::::::::::cok0000O000000O00000000000000000K00000OO0OxlldkxdkO000000O0XXXXK0000000OOOOO0XKOO0000000kdxdxkdk000
:::::::,,:cc:;::;;:::::;:cl:,,,:oolccc:::::;;,;:cc;'''''',,,;:lll:'''''''''''''''',,'',;;::;;;;''...';k0O0OkkkdoddxoododooddxdxOlo00XWWKK000KK0K0O00K000KX00KXX0XXKK0KXKNN00XKK0OKK000NKkk00000000KOO0KXX000KKKX00OXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOxxOdlOOk0OOkkxodddoddoddodxOk;,:::::::::::::::;::::::::::::::::::::::::::::::::::;::::::::cccclllllllllllllllllllllllllllllccc:;,,,,;;;::::ccc:ccccc:;;;;:cllc:;:::clllllllccc:::;:;;:;:::;;:;;:::::::::;;;;::::;;::::::cdk00OOO00000000000OO00000000000000OO0O00OOOkdxxkO00O0OOO0OO0K000O0000OOOOkOOkOOO00000O000OxxxkOO00OO
:;;;:clc;,;:;;::c:;;;clc:;;::;;:cc:ll:;;cddl;,,,,:lc;;,,,'',,;,''.''''''''''''''',;:::::;;;:::,,;,,,,:k0OOkxxkkkkOOO0O000O0OOOOkdONXNNNNNWWNWWNWWWNXNWNXWWWWWWNNNNNNNNWNWNXNWWWNXNNWWNWNNXNNXXNWNNWWNNWNNNWNNWNWWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXOxxxxdd0Ok0OkxkOOOOOOkkkkkkkxOk;,:;;:::::::::::::::;::::::::::::::::::::::::::::::::::::;::::::::::ccccccllllcccclllcccccllcc:;,,,,,,;;;::::c::ccc::;;,;:cllc:;;:cclllllllllcc:::;;:;:::::::::;;:::::::::::;;:::::::::;:lxO00OO000000OOOO00000000000O000OOOO0000OOkxdxkxk00O00Okxddxxxxxkxk0O00Oxdxxxkkkk00000OkxxxxxkkxxO0Okxx
:c::::clc;,;;:;;cc;;;:ll:;;:ll::;;,':c;'':odolc:;;;:c;;;,,'..,,''',:::;,,,;:llcclc:::;;;;;,;;;'.',;;,;k0OOkkkOOkOOOOOOOOOOOOOkkOO00000000000000000O0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000KK000OkOOkkOO0OOOOkOOOOOOOkOk;,:::::::::::::::::;;:::::::::::::::::;:::::::::::::::::::::::::::::::::clllccc::cllcccccc:;;,,,,,;;;;;:::::::cc::;,,,::cll:;;::cllllllllllc:::::;;;::;;;::::;:::::::::::::::::::;::::coxO00OO00000000O0000K000000000000000000OO0OOkkxddxOOOO00OkkkxxxxxxkkO0O0OkkxxxkkxkO0000Okxxxdxxxkkk00Okkx
:cllc:;;:cc:cc:;::;:cc::cccccc::,'...,::::,';:clccc:;:;;,;,....',;;;;:c:,,;llldOOkkdc;,,,,,,''''',,,';k0xddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxdddxOk;,::::::::;;:::::::::::::::::::::::::;::;;::::::::::::::::::::::::::::cccc:;:ccccccccccc:;,,,,,,,;;;::::::::c::;,,;;:ccccc:::clllllllllllccc::;;;;:::::;;;::::;:::::::::::::::::::::ldk00OO000000000000OO0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0OOO
;;:ccc:::ccc:ll:,,:clolcccllollc;,,...;:::::;'',,;:::,,;;;;;'...',;;;;;:;;,,:oxk0KK0xc;;;;:::,,',,,,,:kkcldddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxkxxxxlkk;,::;::::::::::::::::::::::::::;::;::::::;:::::::::::::::::::::::::::;;,''';cccccccccc;;;,,,;,,,;;::::::::::;;,,;:cclcc:::ccllllolllllccccc:;;;;;;;:;:;::;:::::;;:::::::;:::::::;:ldO000000KK000000K0OO00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
,;::cc:;:cc:::ll;;::cloddlcclcccc:,''',,.';:;''',;;,,,'',;;;,.....,;,,;;;;;,',:ldkxoc::;;;:::ccc:;'',:kkcdOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOK0xdxkoxk;,::;;:::;;;;::::::::::;:;;::::::;;::::::::::::::::::::::::::::;;,'''....';:cc:ccc::;;,,,,,,;;;::::::::::;;,;;::cccc:::cclllllllllllcccclc:;;::;;;:::::::;;::::;;;:;::::::::::::lx00OOkkOOkkxkOOO0Okk0XXXXXNXKKXXKXXKKNNKKXXXXXXXKXXK0XKKKKKKKXNXXK00KNXKKXKKKKXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
::::cc:;:clc:;;cc:::::::loc:cclooc;,,'....''....,,;c:,'',,,''....',,,,:c:;;:;,,,;:;,,,,;;;;;;:::,'''';kkcdOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOK0xxkkoxk;,::;;;::;;;;;::;;:::;;:;;;;;;::;;::::::::;::::::::::::::::::,'......''',;:ccccc::;,,,,,;;;;;:::;;:::::;;,;:ccccc:::cclllllllllllcccclc:::;;;::::::::;::::::::::;:::;::::::::cdk000OkkdxxdxddxxkxkkOXWNXKKKKKOOKKKKXK0KKKXKKKKXXKKXK0KX0000000XKK0000XNK0KXX00XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
:::::ccc:;;cc:;;:;,,,,;;,,,:cllc::cll:,''','.....'';:;'.'',,,,,,,,,,,,;:;;;;;;;;,,,''',,,;;,;;;;;,,'.;kkcdOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddxdoOk;,::;;;;:::;::::;::::;;:::;;::::;;:::::::::::::::::::::::;;,'.......'',,;:ccc::;;,,;;,,,;;;;;::;::::;;;;::cclcc::ccllllllllllllccclll:;::::::::::::::::::::::::;::::;;:::::cdk0OOOOOO0000000000OOKXXNNNNNNNNNNXNNXNNNNNXNNXNNNNXNNNXXNNNNXXXXXNNNNNNNNNNNNNNNNNNNWWNNNNNNNNNNWWWNNWNNNNNNNNNNNNN
:::::::lc:;;c:;',;;,,,',,,;;;coodkOOxl:;;,''.......',,,..';;::::::;,,;;ll;,;;;;;;;;,,,,,'',,,,;;;;;,';kkcdOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0KKKKKKXO;,::;;;::::::::::;;::::::::::::::;::::::::::::::::::::;;;,,''....''''',;:::::;,,,;;;;;;;;;;;;::::::;;;:cccc::::cclllllllllllccccllcc::::::;:::::::::::::::::;;:::::::::::oxO0OOOOOOOO000000OO000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;:c:;;:::;::;;,,,;,'',;;,,,;:okOkdl:;,''.......'...'','';::::::::ccllldo:;;;;;;;:;;;;,,''''''',,,;;,:OkcdOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,::;;::::;;:::::::::::::::::::::::::::::::::::::;:;;,;,,,;,''''....',::::;;;,,;;,;;;;::;;;::c::;;;::ccc:;:::cllllllloolllcccccllc:::::;;::::c::::::::::::;:;::::::;;;codxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;:c::;;;;;;;::;,'...',;,,;::::cl:;,,'',''..''',,''..,;;;:::::::coodddddoc::;;;;;;,,;:::::;::::ccccccl00ok0O0000000000000000000000000O00000OO0OkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,:::::::::::::::::::::::::::::::::;:::::::::;;;;;;,,,;;,,''........,;:;;;,,,,;;;;;;;;;:;::::::;::ccc::;;;:cllllllllllllcccllccc:::::::;:::::::::;;:::;::;:::;::::;:codkkO0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;:::;;;;:::::;,'...,,,,;;;:;;;;,,'''',;,'.'',;;,,,,,,;::::::::codddddddoll:,,,;,'',,;;;:::::ccllllllllllllllllllllllllodxxxxxddxxxxxdodxxxxxdolokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,:::::::::::::::::::::::::::::::::;;::;;;;;,,;;;;,,,,,'..........',,;,,,,;;;;;;;::;;;;::::::::cllllll:;;:clllllollllcccllllcccc::c::::::::;:::::::::::;;;;:::::::coxkkO000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
::;;;:;:::;::::;,,;::c:,,,,,,''''''''',;,,;;:cll:,,,;cc:::::coooddddddddocdc..:o:.. ';',,............................ .okkkkxldkxxxx:,xkdddd;':okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,::;:::::::::::::::::::;::::::::;:;;;;,,,;;,,,,,',,'............',,,,,,,,;;;;;::;;;;::::::::clloodool:;;:ccllooollllcllllcccclc:::::::::::::::::::::::;;;::::;codxkO000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
:;;;;:::::;:::;::::::::;,,'......'''',;;;:oddddo:,,;:cl:::::loddddddddddolko'cxo,.. :OOOooxollolcoclxdooocloloolloll;. .xOddkxoxOOkkO:,kkc;cd;':okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,:;;:::::::;:::::::;;;;:::::;;;;;;,,',,,,,,,',,''''..........''',,,,,,;;,,;;;;;;;;:::::ccllloooddxdol:::cclollllclllccccllllc:::::::::::::::::::::::::;;;:::codkkO00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;;;;;;:;;;;;;:;;;::;;;:::;''.....',;;:lx0XNKkddc,,;;:c::::lodddddddddddlcko.,,. .. .;;;,;:,,;;,,;,;::;;;,;;;ol,;;,;' .lo;;cl:ldoood,'oo:ccc,':okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,;:;;:::::;:;;:::::;:::::::;;:;;;,,'',,,,,,,,,,'...........'',,,,,,,,,,;;;;;;::;::c:::cllllolodxxxdocccclloolllllllcccclllc:;::::::::::::::::::::::ccc::::ldxkk00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;;;;::;;;;;;;;:;;;:;;;;;;::;,'',;:::;:dKNXNKkxOxc;,':dl;::cclddddddddddl:kx::;::::;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;::::::::::::::::::::::ccokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,;::;::::::::::::::::::::::::c::;;;;:::;;;,,,,,'........''',,,,,,,;;;;;:;;;;:::::cccllloooooooddxxdolccllllllloollccllllc:::::::::c:;;::;;;;::cccccclllllloooddddddddxkkkkkkkkkxxkkkkxxkkOO0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;;;;;:;;;;;;;;;;;:::::;::::::;;,,,::::cd0XNX0OOOko;,;:;;::::cooddddddddockKkOkxxkOOOOOOOOOOOOOkkkkkOkxkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkOkloOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,:::::::::::::;:::::::ccloooolccccloolc:::;;,,,......'',,,,,,,;;;;;:;:::;;:::::cccllooooooolloodxxddoolllllcllloollollc:::::::::cc:c:;,.';;,,'................... .'lxkkxxxxxdllodxoc:okO0O00O0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;;;;;;;;;;;;;;;;::;;::::;;;:::::;,,;;;::lxKXK0OO0Odc;,,;;:::::lodddddddock0kkdooddoloddoodkOkkdloloolcoddkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkloOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,:;;::;;:::::::cccccloddddolllloddoolllcc::;,'.....',,,,,,;;;;;;;::::;;::cccccclloooooooooolloodxxdddoolllcccloooolllc::c:::::lccc::;''ckOkxdxoooodxxododdodool,.,cdOOkOO00xdoxxlcccok000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;;;;;;;;;;;:;;;;:::;;;:::::::;;;;:;;;;:cccdO0OOOOkxoc;;;;:::::codddddddolk0kkdlclollodolldkkkOdooooloclodkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOklokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,;:;:::::::ccccclooddddooolloddddooooollc;,''...'',,,,,,,;;;;;;:::::::::cccccloooooooooooooooooddddxddoollllloodollc:c::cc::lc;'......'',,,'','''',,,',;:;',,'..,c:;:ccllc:,:cccccdOO0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;;;;;;;;;;;;::;;:::::;;;::;::::::cccclloolloxxddddoollcc::::::codddddddolkKOOxdxkOOOOOOOkOOOOOkxxxkOOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkloOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,::;:::ccccccllooddddoolloddxxdoodddolc:;,,''',,,,;,,;;;;::;::::::::::ccccllloooooooooooooooooodddddddoooolloooolc:::::c:cdkkdodddddddddddodddooddddddddoddddddddddddooooodooolldO0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;;;;;;;;;;;;;:::::::::;::::cccccllooooolllcllllooooooooolcc:::codddddddolkNNKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0kxloOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;,:ccclcccccclooddollllllodddddodxxdoc:;;,,,,,,,,,;;;;;;:::::::::::cccccccloooooooooooddddddooooooddxdddooolooolc::c:::coxOOkxxkkkkkOO00OxxxkkxxO000000000000000000000000000OkkkO000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;;;;;;;;;;;;;;;;;;::;;;;:ccclllllclccccccccccllooollloooooolcc::ccodddddocxNNOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOdodlokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;;llccccccloooolllcccclodddoooddxdoc::;;,,,,,,,,;;;;;;;:;::::::::cccccclloodooodooodddddddooooooooddxdddddooolc:::c::cokOkxxdddddodxOOOkxdooldxkO0000000000000000000000000OkxkO00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;,,;;;;;;;;;;;;:;;::::ccclcclccccccccccllcllloooooolccloooolcc::::cllcloockNNOkdodxxxxxxxxxxxxxxxxxxxxdddddddddddddxxxxxxxxxxxxxdxxxxxxdxOOkdodlokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO0XXXXXXXk;;lcccclllllccc::::cloooooooddxdlcc::;;;,,,,,,;;;;;;::::::::::cccccccllodoooooooddoddoooooooooooodddddxdxxolc::::c:lxO00OxkOOOOOOO000OkkOOOOkO00000000000000000000000000OkxkO0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
;,;;:;;;;::;;::::cc:::cccccccccccccclllloolllllccclcc:clllllc::::::::cloocxNNOkddOxlclllccccccccllcokOkkOOOOOOOOkxxkdllllccllllcclllcdOkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0000OO0OO00OOOOO00OOO0KXXXKKXXk;;cc:cccc::;;;;::cllllllloodddolc::;;;;;;;;;;;::::::::::::::cccccccllooooododooooooooooodddoddddoodddddddoc:cc::cokKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXK0OkkkO000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
:;;;;;;;;:::::::ccccccccccccllclllooollloolc:::::::::::::::ll::::::::lodolxNNOkddOo,...... ........;kOxO0kxkkkxkkclkc'........'..'...:OkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk00kxkkkxddxkxxxxxxkxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkOOOOOkkkOOOOkxkOOOOOOkkodKNk;,:::::;;;;;;::cccccccllodxdolc:;;;;,,;;;;;;;;;:::::::::::cccccccloooooodddddooooooddddxxxxdddddddddddolc:cccccdOKKOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00Okxxxk00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O
:;::;;;:;;::::cccllcllclllllllllloooooooddoc::::::cllllllllodolcclloooddocxNNOkddOo,...... .......:kOxOkdkOK0kxdclkc'.........'.....:kkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0Olcdkxc'':llclllcc:lllllc:cccccccc:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::c:cxOOOOOddkkkxkd:xOxxdxxl::oKXk;,;;;;;;;;::cc::c::cllodddolc:;;;;;;;;;;;:;;;;:::::::::cccccccclooooooodddddooddddxxxxxxxxxdddddddddolc::c::lk0K0OkkkkkkkkkkkkkkkkkxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOkxxkOO00O000000000000000OO00OO0OO0OO00OO0O00000000000000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO000000000OOOO000OO0000OO0OO0O000
:::::::::cclllllllllooolooooooooddddddoooooc:::::codddddddddddddddddddddolxNNOkddko,...... ........:kOxOkd0OkO0kl:lkc...............'lOkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0OooOkxdc,:docooooccodlddoooooodoooc:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccck0xdxkddkkOxkd:k0xl;:oc::oKNk;,;;,;;:::::::;::ccloooolcc:;,;;;;;;;;:;;;;:::::::::::cccccllllooodddooddooddxxxxxxxddddddddxxxxxxdl:::cccoOKKOkxlcc:;;::::cccdO000OOO00kkkdccc::ccc:ccclk0KKKOxdxkO0000000000000000000O0KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKX
:ccccccclllloooooooooododddddddodddooooooolc:::::codddddddddddddddddddddolxNNOkddko,...'.. ..''...:kOxOOxxkkkxxxclkc'...''....''...'lOkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk00llkkxxo:cllclllcccllcclllloolllllc:cc:ccccccccccc:ccccc:cc::c::ccccccccccccccccccccccccccccccccccccc:cc:c:cddc;:olldddodl;ddlcccl:::oKXk;,;;;::::::;::::clooolcc:;;;;;,;;;;:;;:;;::;:;:::::cccccccclllloddddddddddddxxxddddoodddxxkkkkkxdl:::::lx0K0Okdc'.... .....,cdkOOOOOkxkxdl;.......'...,lk0K0OxdxkO000000O000000000000O00kkkkxooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk0000OOOO00kk0000kxx
ccllllloooooooooooddddxddddddooodooolllcccccccc::cloddddddddddddddddddddocxNNOkddkdc::::;,,;;;;::::lkOxxdollcclol:oko:::::::::::;::::dOkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk00dodddooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooollllllllllllllolllllllocoKNk;,::;;:;;;;::ccccccc:;;;;;;;;;;;;;::::::::::::cccccccccccclllloodddddddddddddoddddddxxxxxxxxxdoc:::::okKK0kko;.. .. ....'cxOOOOO00kdddc,...........'lOKK0kxdxkO0000000000000000000O00Okdkkl:clodddooddxddoooooolllllllllllllllllllllllllllllllllllllllllllllllllllllllllloxO0K0OO00OOxxkdxkxooO
lloooooddoodddddddddddddddoddoooollcllllllloooolllclodddddddddddddddddddolxNNOkdx0OOOOO00OO00OOO00OOOOOkxddxxxdxddkOOOOO0000OOOOOOOO000O0X0kdldloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkkxxkkkOOOOkkkOkxkkxkOOOOOOOkkOkxdkOOkkkOOOOOOOkkkkOkkkkOOkkOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkOOOOOkOOOOOOOOOOOOkOOOOloKNk;,;;;;;:;;:::::;;;;;,,,,;;;;;;;;::::::::::::::cccccccc:::cllloooodddddodddooooddxxxxxddddddoc:;:::cdOKKOkxl;... .....,okOOO00OkOxdoc'..........'cdOKK0kxdxkO0000000000000000000000OkOOkxlcdddddoooddxxxxxxxxxollllllllllllllllllllllllllllllllllllllllllllllllllllllllldkxdkOkO00OxxkOdllolkKO
dodddddddxxdxdddddddddddoooollllllloloooodooolllll:,,:llllllllloodddddddolxNNOkkO000000000000000000000000000000000000000000000000000000000OkdldloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOOdloooodddxkkkOxdoolooooddxkkkkdodoodoloddoddddxkkkkdloooollodkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOloKNk;';;;::::c:::;,,,,,,;;;;;;:::::::::::::::::::cccccc:;,,;cllllooddddoodddxddddxxxdddoooodolc:::;:lx0K0Okdl;'.......''':dkOOOxxkOkddoc;'..''...''':x0KKOkxxxk0000000000000000O00OO00Odoxxddllooooolloolooodoooooolllllllllllllllllllllllllllllllllllllllllllllllllllllllllloocclloooolloooolld0Kd:
xxxxxdxddxxxdddddoooolllllllloooooooooooollllllcllc;'.''''',,,',;:loooodolxNNOkxdddddxxddddddddddxddddddddddxdddddddddddddddddddddddddxddxkOdldloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOOdlloooooddkkkkkdloollooooxkkkkdlllllooooolddooxkkkkololllllloxOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOloKNk;,:::ccc:;;,,,,,,;;;;:;;;:::::::::::::::cccccllcc:;,'';:llllloooooododddxxxxxdooooodxxdl::::::okKKOkkOOxdxxdodddddddkOkdddddoodxkOxdxxddxxdddxdk0KKOkxxkO00000000000000000000000K0kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdOKkc;;
xxxdxxdddddddoollllllllloooooooooooooollllllllcccccc;,''''''...'..,;,,,:llxNNOkdoxxxxxdlodoodddxxxxxdodxxxxdlodooddoodooddoodddddoodddddx00kdoxloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkkddxkkkkkkkkkkkxddkkkkkkkkkkkkxddxxxkkkkkkkkkkkkkkkxddxkkkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkloKNk;,ccc:;;,,,,;;,,;;;;;;;;::c::::::::::cccccclccc:;,''',;:lolllllloooddddddddddddxxxxxdlc:;;:cdOKK000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0OxdxkO0000000000000000000000KK0kxdxkkkO0O0OxxxxkkkO000OkkdxkxkkkkkkOOO0OxxxxkxxO000000000000000000000000000000000000000000000000000O0OxkK0o::;;
xddddddooooolllooolooooodoodooooooollllllclllllclcccc:::;::;;;,,,,''...,;:xNNOkddOOOkOxlxOolxOkOOkOOxokOkOOxldx:;okxkkllkkxxOkOOkxkOkkOkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkkkkkkOkkkkkkkkkkOkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkOkkkkkOloKXk;,:;;,,,,,,,;;;:::::::::::cc:c:::c:cccccccclc:,'''''',:cllcccloodddddddddooddxxxxdoc:::;:lkKK0OOO0000000000000000OO00OOOO0000000O00OO0OO00O000OkxdxkO0000000000000000000000KKOxxxdoodxkO0Okxdoooodxk0OkxxddolooooodkOOOkxooocldxO000000000000000000000000000000000000000000000000000Okx0Kx:;;;;:
dooooooolllllooooddddooodooooollllllllllcllllccccc:::::;;;;,'''''',,',,,',xNNOkddOOOkOxldOl:dkkOOkkkxokOkOOxldo,'lxxxOl:xkxxkkkkkdxOkkOkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkkd;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,cOOkO000000000000000000000000000000kx00000000Oxk000000000kdxOloKNk;',,,,,;;;;;;;::::::::::::cc::::ccccccccccc:,'.'''',,;::::ccododddddddddddddddddlc:::::oOKKOkkkkkxxxxxxxkkkkxxkkkkxxxxxxxxxxxxxxxxxxxxxxxkOOOkxdxkO0O00000000000000000000KK0OxdxOkkkkO00OxxOkkOOOO00OkddxkkkkkkOOkO00OkxkkkkxkO00000O000000O00000000000000OO000O0000000000000000000kxOKkc;;;;;::
ooolloooooooooodooooooooolllollllllllllllcccc:::::;,;,''.''..'',;;;;;;;;;;xNNOkdoxxddxocokdodxxxxdddolooooolcdkxxkkddkdoxxdxkxxxxdxkxxxxOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkOl. ,00kOK0kkkkkkkkkkkxdxkkkkkkkkkkkkkkodOOxooookxok0kdc:loxOolxOloKNk;',,,,;;;;;::::::::::cccc:::::cccccccccc:;'...',,,,'',,;:llodddddddddxxxxddddol:::::lx0K0OkO00OkkxdkOOOO00OOO00OkkxdxOOkxxOOOOOOOOOOOOO00K0kxdxkO0000000000000000000000K000000000000000000000000000000000000000000000000000000000000O00OO0OOOOOOO00OOO0OOOOO00OOO0O000000OOOO0000OxkK0o:::;:::;:
ooooooddodoooooooooooollllllllllllllccc:cc:::;;,,'''''''''',,,;::::::::c::xNNOkdoxkxxkdloxdoxxxxkxxkd;',''',lOOOkOkldkxddxddkxxxxdxkxxkxOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkOl. ,O0kOK0kkkkkkkkkkkdcldkOkkkkkkkkkkOooO0d,;,;kkok0kc .;oOdlxOloKNk;';;;;;:::::::::::cccccc:::ccccccccccc:;'....',,,,'.';clooodddddxxxxxxxddddoc:;;;:okKK0kkO0OkkxxddxO000OkkkO0kkxc::lxOxddxOOO0OOOO00O0KKOkxdxk00000000000000000000000KK0xooooooooooooooooooooooooooooooooooooooooooooooooooooook000KKKKKKKKKKKKKKKKKKKKKKKK0O0KKKKKKO0KKKKKK0OOOkx0Kx:;;::::;;;:
ddddoooddooooolooolllllllllllllcccc:::::;;,,'''...''''''',,;:::::::::coolcxNNOkddOOkkkxldo'.:xkOOkkOx;''...,oOkkkOxlxkdoxkxxOkkOkdxOkkOkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkOl. . . . .. . .. ... ,OOkOK0kOOkkkkkkkkxxkOOOkkkkkkkkkkOdd0Oxllllkkok0ko;;:lxOdlxOloKNk;,;;;;::::::::cccccccc:ccccccccccccc:;'...''',,,,,,:clloooooddxxxxkkkxxxdoc:;;;cdOKKOkkkOOkxkkkdxOOOOkkxkOkkkkkkddkOOkdxOOOOOOOOO000K0OkdxkO00000000000000000000O00KK0x;. 'oO00KKKK0000000KK000000000K0OO0OOO0K0OO0OkO00OkkkxOKOl;;::::::;;;:
ddooooooolllllllllllllollllcccc:::;;;,''''''''''''',,,;;;:::::::::ccloddolxNNOkddOkkkkdldxc:okOOkkkOx;''':c;oOOkkkdlxxodkkxxOkkOkxkOkOOkOX0kdldloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkOl. .'...... .'. .. ........... .......'... ,OOkOOxddddddddddddddddddddddddddddllxdddddddoldxddddddddllxOloKNk;,;::::::::::cc:::ccccccccccccccccc;,'....'''',,;cccc:clddddddxxkkkxxxdoc::;;lx0K0OkkkkxddxkOOOOOkkdc;;;:cdkO0OkkkkOkkkOOOkkkkOkO0K0OxdxkO0000O000000000000000000KK0d;. .cO00K00O00000Okddk0OO000000OkkOOdccokkkOk:.,okxxkxkK0o;;:;;::;;;:;;:
ooooolllllllllllloollllccccc:;;,,,''''''''''',,,;;;::::ccc::::::::ldddddolxNNOkdlddooooldkkxkkddooodoccllkXkooooodoldkxxxxdxkxxkxddkxxxxOX0kdldloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkOl. ..... .. .. .. .. .'.. ... ......... ,OOkkxddddddddddddddddddddddddddddddddddddddddddddddddddddxkOloKNk;,::::::::c::cc::::cc:ccccccccclc:;,.......'',:ccc;,;::lodddxxxxxxddooc::;:okKKOkOO00OkdlcdO0000Oxl;'.,cdO00OkkkkxkOOO00OOOO000KK0kxdxkO00000000000000000000000K00d;. .:k00K00OOO0000OOkkkO0OO00O00kkO0kl:cdkkOOd,.;xkxkkx0Kx:;:::;;;;;;;;;;:
llllllllllllllllcccc::::;;;,,''''''''',,,;,;;;::::ccccccc::::::::codddddolxNNOkdlxkolxkxxkolkkxxkxodkxkkddO0xodlcdkxxkxodkxxkkkkkxxkkkkkOX0kdodloOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkOl. .. .. ... .. .. .. ..... .'. .... . .' ,OOkO000000000kx00000000Oxk00000000kx00000000Oxk000000000kdkOlok0k;,::::c:::::::::cccccclccccccccc:;,'......,;:cc;,''',;cooddxxdddddolc:;;cd0KKOkO00Okkxl::ok000Odc;,.':dO0OOxddxkkkOO0OOOOO0000K0kxdxkO00000000000000000000000KKOd;. ....... ... .. .... .... ...'. .... ;x00000OOOOOOOOOOO0OOOOOOOOOOkkO0OkkkkkkO0OkxxxxkkxOKOl;;::;;;;:;;;::;;:
llllllllllcccc::::;;;;,,,''''''',,,,;;;;::::cccccccccc::::::::::coddddddolxNNOkdlxOl;dkxxkl:xkxxxooxkdxkdccdddl'.cxxxxooxkxxkkkkkxxkkkkkOX0kdodlokkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkOl. .. .... . .. .... .... ........... ,O0kOK0doxxxxkdd0OkxxxdOkok0kdxxxOOdd0Odxxxddxok0OkdokOOOdlxOoclkk;,:::::::::::::ccccccc:cccccccc::;;,'..'';:::;,'.''',:clodddooddolc:;:lxKKOxddxxxxxxkkxxxxxxxdl:lxocoxxxxxxkkxxkkkOOkkkOOO0KK0kxdxkO00000000000000000000000KKOd,. ............... ....'...... ...,,'. ,x00kxxxxxxxxdxxxxxxxddxxdxxxxddxxxxxxdddxxxxdxdxkxkKKd;,;;;;:;::;;;::::;:
llllccccccc:::;,,,'''''',,'',,,;;;;;::::clccccccccccc::::::::::codddddddocxNNOkdlxkdldkxxkdodxdxdodxxdxkxddxodxdoxxdxxddxkxxkkxkkdxkkxkkOX0kdodlokkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkOl. ... .. ,O0kOK0l,'','odoOOo',';kkox0x,,',dOdd0k,',',lxok0kl''cdxOdlxOocokk;,::::::::::cccc:cccc::ccccccccccc:,'',;:;;,''''''',;:clooooodolc:;:oOKKOkxddxxdddkOkkkddxxxxxkOKOddxxddxxkkkkkOOkkkkOOkO0KOkxxxkO0000O00000000000000O000KKOd, ............... .......... .......''. 'd000K000000O0000000OO0000000O00000000O00000000OOOkxOKkc;;;:;;;::::;;::;;:::
cccc::c:;;;,,,,',,,,'',,,;;;;::::ccccccclllccccccccc::::::::clooddddddddolxNNOkdlxxxxxxddkkxxxddkkxxxdxxddxxddxddxxddxxdxxddkxxxxddkxxxxOX0kdodld0OOOOOOOOOOOOOOOOOOOOOOOOOOOOKKOkOl. ,OOkOK0ocllolxddOOxllookkok0xlollkOdd0kllllloxok0xc;;coxOdlxOo:oOk;,::::c::c:cccc:::cc:cccccclooooll:;;,;;,''..'''''',,;cclllool:;;cx0X0kkkxddkOOxdxkOOkkxxOOxdxkxl::dOOOkxxkOO00OOOO000KKKOxdxxO0000000O000000000000O00000Oo, ....'.......... .'...',......'........ 'oO0000KKKK0OO0KKKKK0OO0KKKKK0OO0KKK0K0OOKKKKKKOkkkddkkl:::::::::::;::;::;;;::
:::;;;,,,,,'',,,,,,,,;;;::cccccccclcclcccccccccc::cc::::::::ldddddddddddolxNNOkdlxOkkOkxxOkkkkxxOkkOkxkkxodkxxo,'lxxkkdoxkxxOkkOkxxkkkOkOX0kdodloOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0KOkOd;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''l0OkOOxdddddddllxdddddddocdxdddddddllxdddddodocdxddddddddllkOlcx0k;,::::ccccc:::::::::ccccloddddddl::;;,'.....''''''',,;cllllc:;:okKK0kkkxdxkOkxdxkOxxkkOOkkkodkkl:lxkxxkOOOO00OOOO0O00K0OxdxkO00000000000000O000000O00K0Oo' ... .. .... . .. .... .. .lO00KkccloxkkOkdloxOkkOxoldOOkkkoloodxkk0kolx0kxxkxoxko:;::;:;;;:::;;::;;;;;;;:
;,,'',,,,,,,,,,;;;;::::cccclccllcccccccc:ccc::cc::::::::::::ldddddddddddolxNNOkdlxOkkOkxxOkkOkxxOOkOkxxxodkkxxo;,oxxkxodkkxxOkkOkxkOkkOkOX0kdodlokxxxxxxxxxxxxxxxxxxxxxxxxxxxxOKOkkOOOO00OO0O00OO000000000000000000000000000000000000000000000000000000OOkkxdddddddddddddddddddddddddddddddddddddddddddddddddddodkOlcxOx;,:c:::::::c::::c:cclloodxxxxddoc:;,'.....''''''''';cccc::::cdOKKOxxkkkxxkkkkxxkkkkkkkkkkkkxxkkkkkkkkkkkOOOkkkkkO0KK0kxdxkO00OO00000000000OOO0OO00000Oo' . .. .ck000Od;,';oxOOd:,;okkOOd;,:okkkxc,';lxkOxc,,lkkxkxodkxc;;;::::;;;;;;;;::::;;;:::
,,,,,,,,;;;;;::::ccccclllccccccccccccc::cc::::::c:ccc::::::codddddddddddolkNNOkdldkkxxxddkxxxxddkxxxxddxxxxxxkOkkkkddxxxxxddxxxxxdxkxxxxOX0kdodlokkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkkkkkkkkkkkkkkkkkdoxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddOOklcxkx;,cc:::::::::::ccclodxxxxxxxdolc::;,'.....''''.'',;ccc:;;:lx0X0kkkkOOkkkOOOkkkOOOkkkxxkOkxdkOkkkxxkkkkOOOkkkOOOO000kxxkO0KKKKKKKKKKKKKKKKKKKKKKKKK0kl' .:k00KKOxkkkxxO000kkkkkO00kkkkOkO0OkkxdxkO0Odcldkxkkxdxxl;;;;:;;::;;;;;::::::;::;::;
;;;;;;::::ccccccccclllccccccccccccccc:::::::ccccccccc::::::codddddddddddolkNNOkdlxkolxkdxkolxkdxkkkkkdxkxddkkOOOkOxldkxodkxxkkkkkxxkkkkkOX0kdoxlokkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkkkkkdxkxdxkkxxkkox000KXKKX00K00XXKXKXN0k0XKXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXKO0KXXXNNXKOkkkOdo0Oklcxkd;,:::::::::::ccooddxxkkkxddoollccc:,......''''',;:::::;:okKKOkkkO0OOOOO0OOOOO0OOOkkkxkxl::lkOkkkxkOO00OOOO0OO0KKOkxddxO00000000000000000000000XK000xc::::::::::::::::::::::::::::::::::::::::::::::::::::::cx0Oxxxxxxxxdodxxxxxxdodxxxxxxdodxxxxxxdodxxxxxxxxkxdk0d:;;;;;;;;;;;;;;;::;;;;;;:;:::
;::::ccccccclllllcccccccccccccc:c::cc::ccccccloc:cccc::::::codddddddddddolkNNOkdlxkc:xOxxkc:xkdxkkkkkdxkooxkkOkkkkdlxkooxkxxkkkkkdxkkkkkOX0kdoxloOkkkkkkOkkkkkkkkkkkkkkOOkOkkk0KOkkkkdclollloolokkodkO0xxkOXKO0kxOOkxk0XOokOOOOOOOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXK0000XN0XWWKxcclxooOOklcdkd;,:::;:::::clodddxxkkxxddoooooddoc;.......'',;;;::;;;cdOKKOkkO00OOOOO0OOOO000OOkxkkOOkdclxkkxxkOOO000OOO0000KKOxdxxkOOOOOOOOOOOOOOOOOOOOOOO00000000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK00OOkxxxxxxxxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxkkdxOxc;;::;;;;;;;;;::::;;;;;;;;;;;;;
c:cccclllllllcccccccccccccccccc:::::c:cccccccloc:ccccc::::::ldddddddddddolkNNOkdlxkdlxkxxkdlxkxxkkkkkxxxodxkkkxxxxdcdxodkkxxkkkkkxxkkkkkOX0kdlxc,:cc:cc::ccc:cccc::cc:c:::::::o0OkkOkolloxxddddxkkokXWWKKKXWNKKXXKKKkOXNKOKXKKO0KKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXXKKXWNXNMWKkxxkkolOOkl,:c:;;:::::::clodxxxkkkkdoooooodxxxdl:'...'''',;::;;;::lkKK0kxxkkkkkkkkkkkkkkkkkkOkkkOOOOOkkkkkkkkkkkkkkkkkkO0KKOxddxk0OO0000000000000OO00OO00KK00000OO0O0OO0Okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxdx00kddkkl;;;;;;;;;;;;::::;:;;;;;:;::;;;::
lcccclllllcccclcccccccccccccccc::ccccccccccccoxl:c:cccc:::::coodddddddddolkNNOkdldkxxxxddkxxxxddkkxxxddkxxxxdodoodoldkxdxxddkxxxxddkxxxxOX0kdlxc,::::::::::::::::::::::::::::;o0OkkkkkxxkkOkOOkkkkx0NNNNNWWNNNWWWNNNNNNNNNNNNNXNNNWWWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNWWWNWWNWWNNNWXkxxxxxdx0OOl,;c:;::::::cldxxxxxkkxddoodddxkOOkxl;'.''''',;;;;;::cdOKKOkkxxkOOkxdkOkkOOOOkkkxxOOOO00OkkkxxkOkOOOOkkOOOOO000OxdxxO0OOOOOO0OOOOOOOOO00OO000K000OOkOOOOOOO0OOkO0KXXXXXKKXXXXXNXK00XNNNXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXK0KNXNNNX000Oxk0Oxdxko:;;;;;:;;;;;;;;;::;:::;;;;;;;:::;;
ccllccccccccccccc::::::ccccccc:cccccclcccccc:lkocccccccccc::::coddddddddolkNNOkdlxd:,lkxkOolkkxxOkkkkxxkxodkxxd:;okxkkxodkxxOkkOkxkOkkOkOX0kdlxc,:::::::::::::::::::;;:;;::::;o0OkkOkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkOl,;::;;::clodxkxxxxdddddddxkkO00Oxo:,'...'',,,,,;;;cx0XKkkkkxdxOOkxddkOOOOOOOkkkxkO00OkkxxkkxxOOOOOOOOO0O0KK0kxxkO0KKKKKKKKKKKKKKKKKKKKKKKKKK0OOkddddoddxkkkkkO0kOKXK0KOkK0OKKKOk00O0KKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXXKKNXNWWKoldxxO0kdxkdc;;;;;;;;;::;:;;;;;;::;;;;;;;;;:;;;;
ccccccclccccccc::c::cccccccccccccccccc:cc::::col:::::::cccc::;,;ldddddddolkNNOkdlxo,'cxdxOl:xkdxOkkkkxxxooxkxxo,'lxxxxooxkdxOkkOkxxOkkOkOX0kdlxc,;:::::::::::::::::::::::::::;o0Okkkkkkkkkkkkkkkkkolooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooox0Okl,;::::clodxkkxxxdddddddxkO000kxdl:,'....',,,,;;:okKX0kkkkxdkOOkxdkOOO00OOOxxxO00000kxxxxxkOOO00OOOO0000KK0kxoccloooooooooooooooooooooookKK00OkxooxxddxxkOO0XNK00XNNXKK0OOOKX00000000KNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXKKXNNNNWNKOxdxO0Oo:clc;;;:;;;;;;;::;:;;;;;;;;::;;;;;;;;;;;:
lccccccccc::ccccccccccccccccccc:ccc:::cc::ccccc::::::::ccccccc:;:lllllloolkNNOkdlxOxxkkddkddxxdxkkxxxddxddxxddxxdxxdxxddxxdxkxxxxdxkxxxxOX0kdlxc,;::::::::::::::::::;;::;;;;:;o0Okkkkkkdoxxodxxxkkllooxkxddkkxkkkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOOo,;::cloddxxxdddddddddxkOOOkkxdool:,..'''',;;;:dOKKOxxxkkkkkkkkkkkkkkOkkkOkkxxxxdddxxkkkkkkkkkkkkkkkO0KKOkxoc;;;;;;;;;;;::;;;;;;;;;;;:lxO000OkxkOO0OO0OOOKNWMWWWWMWWWWWWNNWWWWWWNNWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMWWN0kxxxxk00dc;;;;;;;;:;;;;;;:;:::;;;;;;;;;;;;;;;;;;;;;;
ccc::cccccccccccclcccccccccccc::cccccccc::cc:::::::::::cclllc::::::::::cllkNNOkdoOOkkOxloxdddxddxxddxdddddoxddxoodxdxxdodxdxkxxkxddkkxxxOX0kdlxc,;::::::::::::::::;;;::;;;:;;;o0OkkkkkOdodlccllokklcllolclllollodocoollcdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkl,;cclodddddoodddddodkkkkxddddddlc;,'''',;;:lx0X0kkxxxOOkkxxOOkkkOOOkkkxxOOkxdxkkxxxxkOkkOOOkkOOOOO0K0Okdo:;;;;::;;;;;:::::::;;;;;::ok0000O000000O0OO000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKOOOOOO0kl;;;;;;;;;:;;;;;:::;::::;;:;;;;;;;;;;;;;;;;;:
c:c:cccccccccccccccccc:cc:cc::ccccc::::::::::::::::::cllooodoc:::::::::lolkNNOkddOOkkkxldkdoxkxxkdoxkxxocccxxxl'.cxxxkdoxkxxOkkOkxxOkkkkOX0kdlxc,::::::::::::::::;;:;::;;;::;;o0Okkkkkkxxxxddddxkklldxxxdxxxxddxxxdxxxddxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk0KOkl,:oooddoodddddoodxxxxxdoddxxxxoc:;,,,,;;:oOKK0kxl:::dOOxddxOOOO0OOOkkkxkdl:;lkOkkkxxOOO0OOOOO0O0KK0Oxdl:;;;;;::::;;:;;;;;:::;;:;:ok00O000OO000000OkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkO00ko:;;;;;;;;;;;::;;;;::;;:::;;:;;;;;;;;;;;;;;;;:;
cccccccclllllcccccc:::ccc::::::cccc:ccc:::::::::cccloodddddddoccccclloodolkNNOkddOkkkkdldxodkkxkxodkkxxkkooxxxdc:dkxxxodkkxxOkkOkxkOkkOkOX0kdlxc,::::::::::;;;::::::::::;;:::;o0OkkkkkkkkkkkkkkkOkxk0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000kOl,cdoodddddddddddxddooddxxkkkkdoc:;;;;;cx0KKOkkkdccdkkxddkOOO00OOkxxkkOOkl:lxkxdxkOOO00OOOO0000KK0kxdl:;;;;;;:::;:;;:;;;;;;::;:cok0000OOO00O00O0Okxddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddk0Odc;;;;;;;;::;;;;;;;;;::;;;;::::;;;::;;;;;:;;;;;;;
cccclllllc:ccc:::ccc::ccc:::ccccc::::c::cc::::::coddddddddddddddooddddddolkNNOkdoxxxxxdlxOOkOkddkkxxkddkkxxxxkOOkOkodkkxxxddkkxxxdxkxxkxOX0kdlxc,:::;::::::;::;::;;::::::::;:;o0Okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkl,cooooddodddddoooooddxkOOkkxdollcc::okKX0kkkOOOkkkkkkkxkkkkOkkkkkkkkkkOkkkkkkkkkkkkOOkkkkkO0KK0kxdl:;;;;:;;;;;;::;;;;;;::::;:ok00000OxxxxxkO0OkdodxOOkOOO00OOOO0OO0000000000000000000000000000000000000000000000000000000000000000000000000000KK0xl;;;;;;;;;;;;;;;;;;;:;:::::;::::;;:::;;;;::::;::;;
cclllcccc::::c:::cc::::cc::::cccc:::ccc:::::::::coddddddddddddddddddddddolkNNOkddOOOOOxdkOOOOxldxl:okxxxl:okkOOOOOxldkolkkxxkkkkkxxOkkkkOX0kdlxc,:::;::::::::::::::::::::::::;o0OkkkkkkkkkkkkkkkkkooxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkxxxxxxooOOkl,cdoolodddddolllodxxkkkkxxdooooolldOKKOkkO00OkkkxxkkkkxxkkkxxxkkkkxxkOkkkxxkkkkkOOkkkkOOkO0KOkxoc:;;;;::::;;;;;:::;;;:::::coO00OO0OkxdooloxkkxooooodoodooddddoddxO000000000000000000000000000000000000000000000000000000000000000000000000000K0Oo:,;;;:;;;;;;;;;;;;;:::;;:::;;::;;;;;:::;;;:::::;;;;
lcccccccc::c:::::ccc:cccc::c::::c::::::::::::c::coddddddddddddddddddddddolkNNOkddOOkkOxokOkkOxldo'.cxxxo'.cxkkOkkOxldOl:xkdxOkkkkdxkkkkkOX0kdlxc,:::;::::::::::::;;::::;:::::;o0OkkxldxxxxxxddxkkkoxOkKXXXKKNNXXX0KNXXXXXKNNXXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0kKK0XNNMWXkdddkdo0Okl,:ooodxxxollllodxkkkxxddddddxdookKK0OkOO0OOkxxkkxxOOkkxxkxlcoxxdl:cdOOOkxxkOOO0OOOOO0O0KKKOkxoc:;;::;;:;;;;;;;;;;::;;::;cdO00000OOkkkxxdxkkxdxkxxxkxxxxxkddxxddkO0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0OO00KK0d:;;;;;;;;;;;;;:;;;;;;;;;;;:::;;:::;;;;;::;::::;:::;;:
ccccccccccc:cccccccc:::cccc::cc:cc:::cc:c::ccc::cllllllloolllllllodolllllckNNOkdoxxdddoldxddxocdkddxkxxkddxkxxddddoldkdoxkxxkkkkkxxkkkkkOX0kdlxc,:::;:::;::::::::;::;::::::;:;o0OkOkdddolclloloxkkoxkkOxdOxxOOxk0kkkxkkkxxOOdkNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNKK0x00OKKKWWKxccoxdoOOkl,cdxxkxdolcodxxxxxxdxxdddxxxdxOKX0kkO000kxxdxkkOkxxxkkOOOdldkOd:;lxxdxkkkkOO0OOOOOO000K0Okdoc;;;;;;:;;;;;;;;;;;:;::;;;cdO00O000000O0O0000OO0KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0kl;;;;;;;;;;;;:;;;;;;;;;;;;;;;::;;;;:;;;;;;;;;;;::;:;;;;
cccccccccc::::::cccc:::ccc:::ccccccc::::c:::::c::;''',',;,,'''''';:,''''';kNXOkxkOOOOOkkOOOOOOO0000000000000OOOOkkOO00000000000000000000KKOkdoxc';::::;:::::;;::;::;;;;::::::;o0OkkkkkkxxdxxddodkkokKKNNXNNNNKk0NXKXXXNNNNNKk0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNKNWNNNWMNOxxddxlo0Okl,lkkxdolllodxxdddddxxxxxxdxk0XKOxxxkkkxxkkkkkkkOkxxkkkOOOxkOOOkkkOOkxxkOOOOOOOOOOO0KK0kxdl:;;;;;;;;;;;;;;:;;;;:;;;;;cdO00O00000OO00000000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0Oo:;;;;;;:;;;;;;;:;;;;;;;;;;::;;::::;;;;;;;;:;;;;;;;;;;;;;
cccc:ccccc:::cccc:ccc::ccccccccc::cccccccc:::ccc:;'''''''.''''''''.'''''';kWXOkkOOOOOkkOkOOOOOOOkOOOkkOOOkkkkOOOOOOkOOkOOOOOkOOOkOOOkkkkkkkkdoxc';::;;;;:;;;;:;;::;;;;;;::::::o0OkkkkkkkkkOkOOkkkkk0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0kxxxxxdk0Okl,okxollooddoodddddxkxxxxxOKX0OkkkkkxxxkO0OkkkkkkkkkkkOkkOO00OkkkkkkkkkkOOkkkkOkkO0K0kxdl:;;;;;;:;;;;;:;;::;;;;;:;;cdO000OO0OO00O000Okxxxxxdxxxddxddxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk00Od:;;;;;;:;;;;;;;;::;;;;:;;;;;::;:;;;;::;::;;;:;;;;;;;;;;;;;
cc:cccccccc:::::c::ccc::cccccccc::cccccccc:cccc:::::::::;;:::::::;,;::::;;xKkoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooloxc',::::;;;;;;;;;;;;;;;;:;::cllcd0OkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkOl,lxolloddoloddddxxkxdxk0KK0kkO000OOOO00OkxollxOOxllxO00000kkkxdxOOOOO00OOOO0000KK0kxoc:;;;;;;;;:::;;::;;;;;;:;;;cxO0OOO00O00O0000OkkkOOOOkOOOOkkOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkkkkkOOOOkxkkxodO0kl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:;;;:;;;;;;:;;;;;:
cc::::::ccccccccccccccccccccccccccccccccc::::::::::::::cc::c:::cc:::::c::;:;,,,,,,;::;::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;,;::;:;;:::::::;;;;;:::cclloocd0Oxxkxxkkkxxxkxkkkkkkxxxkkkkkkkkkkkkkxkxkkxkxxkkkkkkkkkkkkkkxxkkkkxkxxkxkkkxxkxxkxkkkkkkkkkkkkkxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkxkl,cllllloloooddxxxxxxOKXKOkkO00OkkkO00kkxc;;:okd;;:ok000OkxxxddxkOO00OOOOO0000KKOkxoc;;;;;;;::::::;::::;;;;;;;:lxO00kddkOOOOkxOOOkkkOKNWNNWNNWXKNWNNNNNWNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNNK0KKXWMMNKOO0OkO0Oo:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;::;;;;;;;;;;;;;;;
cc:::::::::cccc:ccccccccc:cccccccccc:cc:::::::::::::::::c:::cc::::;::c:::;,'',,,,,;::;;:::::::::::::::::::::;;::::::::::;;:::::::::::::::::::;;::::;;;;;;;;;;::;;;::clllooooocdOxdddxxxxxxxxxddddxkxkkxxkxdxdxxxddxdxxkkxxxxkkxxxxxxxxxxxxxxxkOkdxodxkkxkkxxxxxxxdxddxxdddddxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxOo,;lllclloddddoddxk0KX0kkkOOOOkkkOOOkxxOkddkOOOxdkOOOOOkxkOkdxOOO00OOOOO0O0KKKOkxoc;;;;;;;;;;;;;;:;;;;;;;;;;:lx00OkxxddooxdoxOOkkOOkkkOOk00O0KOk00OOkO000XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXX0O00KKXNWNkccdxk00dc;;;;;;;;;;;;;;;;;;;;;;:::;;;::;;;:;;;;;;;;;;;,''....'',;;;;;;;
:c::::::c::cccc::c::cccc::ccccc:::::::::::::::::c::c:cc:::::cc:::::::::::::;;:::::::::::::;::;;:::::::::::::;;::;;::;;;:;;:;:::;;;;;:::;;;:::::::::;:::;;;;::::::ccclooolllll:oOkxooxxdodxoodocllddoxxxkklcollddlloodxdddxxdxkkkkkkkkkkkkkkkkO0kxxldxddddxolxkkkdllloxdlooloxxddxkxdkOkkkkkkkkkkkkkkkkkkkkkkkkkkkk0d';ccclooddoododk0XK0OkkkkkkkkkkkkkOO000K0000KK0OOkkkkkO0K00000KKK0000K00KKKOkdoc;;;:;;;;;;;;;;;;:;;:::;;;:lx000OOkkxddolddxOOOO0XK0KKKOkOXK0K00XKK0Ok0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXKKXXXNNWNK0OkxkO0kl;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,'..........';:;;;;
:cc:cc:cc:ccc:ccccccccccc:ccc:cccccc:::;;:c::cc:::::cc::::::::;;;;c:;;;:::::::::::;::::c:::::::::::::::::::;;;::::::::;;::;;::::;;;;::::;;;:::::;;;::::;;::;::ccllllllllllccc;oOkxddxollolcldooxdocccoxkxlldooddlloodxoolddodkkkkkkkkkkkkkkkkk0kxkdxdolcldoloxxkdlllldxdolldxdoloxdoxkkkkkkkkkkkkkkkkkkkkkkkkkkkkk0o',:loodddooodOKKK0O0KKXXXXXXXXXXXXXXXXXXXXXKXXXKXXXXXXXXXXXXXXXXXXXXXXXX0kxdl:;;;;;;;;::::;::::::;;:::::lx0000000O00O0OxxkOOKNWWWWWWWWXXNWWWWWWMMWNXXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWMMWMNKkxdddxO0Oo:;;;;;;;:;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;'.......'......,;;;:
:c::cc::cccccc:ccccccccccc:cc:cccccc::;''clcclccc:clolcc:cccccc::coxo;,::::::::::::::::::::::::::::::::::;;:::::::::;::;;:::::;::;;:;::;;;::;::;:::;::;;:::ccllllllllcc:cc:cc:lOkkOOOkkkkkkkkkOOkkkxxkOkOOkkkkkkkkkkOOkkkkkkkOOOOOOOOOOOOOOOOOOkkOkkkkkkkkkkkkkOkkkkkkkkkkkkOkkkkOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOkkO0o';loooooooxOKK0OO0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkxdl:;;:;;;;;::;;::;::;;;;:;:::lk000000O00OO00000000KXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKOOOOOO00dc;;;;;;;;;;;;;::;;;:::;;;::;;;;;:::;;;;;;;::;;;'.,,....,;'...;'.,;;;
::ccccccccccccccc::c::ccccccccccc::c::,'';c:cclol;clllodcloloooooddol;;::::ccc:::::::::c:::::::::::::;:::;;:::::::;::;:::::::::::::::::::::::;;;::;;;::::cllllllcllccc::cllllccc:;::c:;;;;;::::::::::;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;::::::;;::;;:;;:;:::::::::::::::::cccccc:::::::;;;;:;;lolllldxOOOxdddddddddddddddddddddddddddddddddddddddddddddddddxddddddxxdl:;;;;;;;;;;::;;;;;;:;;;;:;:ok00O00000OO00000OO0OOOOOOOO0OO00OO0OO0OOO0OOO0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00OOOOOkl;;;;;;;;;;;;;::;;::::;;;;:::;;;;;:::;;;;;;;::;;;.':,...,;;,...;:.';::
:c:cccccccccc::::ccc::ccc:::c::::::cc:,''''',,;;;,'',,',,,,,;;;clc:ccllllloooollllcccc:::::::::::::::;::::::::::::::::::::::::::;;::::;;;::::::::;;;:ccllllllcccccc:cllllollllc:;:::c:;;;:cccccccc::::ccllloooll:;,,,''''.'',,;;;;;;;;;;;;;:::::::;;:;;;::;:::::cc:::cccc::::::ccloooollccllllodxkkkxddlcccccc:::clllllll::clcccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:ccc:;;;;;;;;;;::::;;;;;;;:;:::ok000000000000000000000000000O00000000000000000000000000000000000000000000000000000000O0000000000000000000000000000000000Oo:;;;;;;;;;;;;;:::;;;::;,;;;;;;:;;;::;;;;;;;;:;;;;,.,:'..'lol;'..':'.;::
:cccc:::c::cc:cc::::c::cc::::::c::::::;;,'''';ddolclolclccccodlcloooddoodddddddddddolc::;:::::::::::::::c::::;::::::::::;::;;;:;;::;::::;;;:;;::::ccclllcclccc::ccccloollllcccc:::::::::cccclccc:::ccclloodool:;;,,''''.'',,;;;;;;;;;;;;::::::;;;::::::::::::cccc::ccllllcccccclooooolllllooddxkkxdooolccccc:::cllllloll:;,,;;;::;;;;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;,,,;;;;;,,;;,;;;,,,;;,;;;;;;::;;;;;;;:;;;;;;;;;;;cokOOkkkkkkOOkkkOOOkkkkkOOOkkkOOkOOOkkOOkkkkkkOkkkkkkkkkkOkOOOOkkkkkkkkOkkOkkOOOkkkkOOkOOkkkkkkkkkkkkOOkkkkkkkkkOkkOOkOOkOOxc;;;;:;;;;;;;:;::::;;:::;;:;;;::;;;;:::::::::;:;:::;.,l;..,d0k:'..cc'';:;
::cc:::ccc:cccccc:::cc:cccccc::c:cc:::::::;;,;loooddloooooodool:codddoclddddddddddddol::::c:::::::::c:::::::::::::::::::;;;::;:;;::::::::;;::::cccllllccccc::cccclooolllccc:ccc:;::::cclccccc::::ccclooodolc:;,,,,'''''',,,;;:;;,;;;;;;::::::;:::;;;;;;;::::c::::cllllllccccllooddolllllodddxkxdollollccc:::::ccclllll::cllllcc::;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;:;;;;;;;;;;;:okOxxOOOOOOkOkxxxO00O000kxkkkOkxkkkO0OO00OO0OOOOOOOOOOOOOO000OxxOOO000OkO0OOkxkkkkxxxxkOOOOOOO0OOOOOOOOOOOOOOOOOOOOOOOOOO0ko;;;;;;;;;;::;;:::;;;::::::;;;;;:;;;;;:::::;;:::::;;:;''c:...lOl'..'c:.,:::
cc:c:;,;;;;;:;,;;;,;;;;;;,,;,,;;;;;;;;;;;;;;;;;:;;;:;:;;;:clolloooddddoddddddddddddddoc:::::::::::::::::::::::::::::;::::::::;;;;::::;;;::cccccllllccc:cccccclllllolcccccc:::::;::cccllccc::::cccclloooolc:;;;,,'''',,,,;;;;;;;;;;;;;:::::;;;;;::;;;;;::::cc:::clloolllccllodddoolllllloddxxxdolllllllcc:::cccccloddolllodddlc:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:;;;;;;;cokOkxxdxxxdxxdooooodkkOOkxdlodxxdodddxxkkkkO000000O000000O000OOkddxxxkxdxkOOkdllxxdoodddxxxkOkkO000O000000000000O00O000OO00d:;;;;;;;;;;;;;;;;:;;;:::;;;;;;;::;;;;;;::::;;;;;;::;;::;'.....:l,......,;;;:
c:::;cxOOOOOOkxk0OOOOOOOkxkOkxO0OO000OkxxxxxxxxxkO0Oo:::::codlldddddddooddddddddddddl:;::cc:::::::::::::::::::::::::;;;:::::::::::::::;::ccllllllccccccccccloooollccccc:::::;;:ccclcccc:::::::cllooooolc::;;,,''',,;,;;;;,,;,,,;;;:::::::;:::;;::;::::cc:ccc:cclllolllccldddolclc:cloddddddolllllollc:::::cccclodddoooddddlc:::;;;;;;:;;;;;;;;;;;;;;;::;;;;;;;;;;:;;;:;;;;;;;;;;;;;;:;;;::;;;;;;::;;;;::;;;;;cdkOkkxxdoodoodxxdoolloxOOdloxddddodxxdoodxxxO0000000000000000OOkkxdolldxodOOkddoodxkdooxxxooxxxkO00000000000000000000000000xc;;;;;;;;;;;;;;;;;;;;::;;::;;::::::;;;;;:::::;;;:::::;;;;;;,....''......,;;;;:
c::;;kK00k00KOkKXNKOOK0kOKOk0000OK0OKKo;;;;;;;;;cdkxl;;;;;:cl::cllllodccllllllllllll:,,;::::;;;;;;:;;;;;::;;;:;;;;;;;;;;;;;;;;;;;;;;;;:::ccccc::::::::::ccccccccc:::::;;;;;:::c:ccc::::::::;::cccclcc:::;;;,,,,,,;;;;;;;;,,;;;;;;:;;::;;:;;:;;;:;::::::::::::::c:ccccccclllc::colccllllolccccclllc:::coc;;:ccclllccccclll:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;::;;;:;;;;;;::;;;:;:;;;;;;;:;;;;;cdO00000OOOOkkOOO00OxxkkO000OOkOOOkkkO0OOOOOOO00000000000000KK0000OOOkkkOOOOO00kkkkOOOOkkO0OOOOOOO00000000000000000000000000Oo;;;;;;;;;;;;;;;;;;;;:;;:;;::;;;;;::;;:;;;:::::;;:::;;;;;;;;;:;,......'',;;;;;;;
::c:;xOOOddxX0OXKKOkOOOxO0kdk0OdOKkoO0xxkkkkkkkkkkkkkkkkkkkkkkxxxddxxxxddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:clodxkxdodxdxdlodoodooodxdddodxxxxxxxxxxxxxxxxxxxxkdc;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;:;;;;;:;;;;;;;:;;::;;;;;;;;::;;;;cdkkkkkkkkkkkkkkkkkOkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:;;;;;;;:;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;;;;;;;;:;;;,'...'',;;;:;;;:
::c:;xK000O0X00XXXK0O0K00KK00KKOKK000K00K0000kk00000000000000koxdlxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk00K0OO0O00000000000000000000000000000000000000000000000000000000000000kdkK000OOOkk000000000000000000000000000000000000000000000Oxl::clooxkdllooddxoldddoddddddoodxkkxxkkkkkkkkkkkkkkkkxOkc;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;:;;:;;;::;;::;;;;;::;;;;;;;;;::;::;;;;,,;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;:;;;:;;:;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;::;;::;;;;;;;;;;;;;::,.. ...,:;;;;:
::c;;kNXXXXXXXKKXKKXXKKXKXXKXKKKKXXKXK0KOdol;'':doldddxkxkxdddcdodKKK0OO0X0OKO0KXXXXXXXXXXXXXXXNXXNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXK0Kkk0kxddkxdxddkxxkkxkkkkkxddkxxkkxxkkkkkkkkxxxxodkkkxkxdxkkkkkkkkkkOdlkKOxkOkl;cdxddodxkxododkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;;;;;;:;::;;;;;;::::coododoodxkkkxdxkkxxkxxkxdddxkxkOkk0k:,;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;::;;;;;;;;:;;;;::;;;;;;;;;;;;:;;;;:::::::::;;:::;;;::;;:;;:;::::;;::;;::::;;:;:::::;:::;;::;;;;;:::;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;.. .. ';;::::
ccc;;kNNNNXK0KOOKOOXKkOOxk0k0OOKO00kKOOKOdc,..';lo:lc;ll::c;cdcdodOkOd;'lKd,;,ldloddodxdxdlloooddddddddoddkXXKXXXXXXXXXXXXXXXXXXXXXXXXKK0kOOc;ooxdccclodolooooooolclddlodlclllloolllcdxcoxolldl:oolllloxkkkOdlkKkxOkxdccdoxdlooxdlollollollllxkkkkkkkkkkkkkkkkkkkxl:;;;:lolccccc:::c::clloxkkkkOkxxOkkxoloxoc:lccxololclldOkk0k:,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;::;:;;;;;;;;::::::::;::;::::;;:::::;;:;::;::;;;::;;;;;;;;:;;;;;;;;;;;;::;;;;;;;;::::;;::;::;;::;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;:;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;::;;;;;;;;;;;;;;;. ..cc'. .;;;;::
c::;;kNXNNNXKK00K00XX00K0000KKKXKKK0K00KOoc,';::okooddoolldoddcdod0xc'..lKkloodolddooxxdxdllodoxddocldoodokXXXXXXXXXXXXXXXXXXXXXXXXXXXK0KkOOodxoxkxxxddxddxdxddddddxkkdxxdddoddxxddddkkdxxxooddoddddddxkkkkkdckXOkOkkkdxkddxddxkkxkkddoloddddkOkkkkkkkkkkkkkkkkkxo:;;:ldkxdxxxkxddxxxxooxkkkxxxkkxxkkOkdodxdoloooxxdkxoodxkkk0kc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:;;;;;;;;;;;;;:;;;:;;;:;;;;;;;;;;;;;::;;;;;;;;;;;::;::;;;:::;;;::;;;;:;;;;;;;;;;;;:;;;;;;;::::::;;;;;;;;:;;;;::::;;:;;;;;;;;;;;;;;;;;;;;:;;;;;;;:;;;::;;;;;;;:;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;:::;:;;;;;;;;;;;:::;;;;;;;;;:;;;;;:;;. .,ll,. ..;;;;;:
c:c:;kNNNNNNNNXXNXNNNNXNNXXNNXNNNNNXNXKOdlc:looloddodddddddddlcdxkKOxoxO0XXXXXXXXXXXXXXXXXXXXXXXXXK0KXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKOkolllolcoddodddodddddddddddoddddddddoddodddddddddddoooddddddddddddddlckOdoolcloooddddddddoodddooododoodddoodooooooodoooolc::clodddooodxxddddoloxkkxddxkOkkO0O00OOO0000000OOOOOO00OO0OKk:;;;;;;;;;;;;;;;;;;;;;;;::;;;;;::;;::;;;;;;;;;;;;:;;;:;;;;;;;;;;;;;;;;;;;;;;;::::::;::;:;;;:;::::;;;;;;;:::;:::;::::;;;;::;;:::::::;;:;;;;:;;;;;:::::::;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;:::::::;::;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;. ... .;;;;;;
c:c:;kNNNNNNNNNNNNNXXNXXNXXXXXNNNNNXXXKOkkkkkxxkkkkxxdoolccllooxkkkkkkkkkkkkkkkkkkkkkxddddddddddddddddddddddddxxxxxxxxxdddxxxxddxxkxxxdocccccccc::::ccccccccccc:::ccc:cccccccclllcc:ccccccccc::;;;;;;;::;;;::clc::clccccccccccccccccccccclllclcccclllooodoolllolllllloooollllllllloodxxdollloooddddxxxkkkddoddddddddddddddddddl:;;:;;;;;;;;;;;;;;;;;;;;;::::::;;;;::::::;:::;;:;;;;;;;;;;;;;;;;::;;;;::::;;;::::::::::;;;::;;;:;;;;:;;;;;;;;;;;:::;::;;;;::;;;:::;;;;;;;;;;:::;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;:::;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;. .... .;:;;;;
c::;;kNXXXXXNNXNNNNNXXNNNXXXXXXXXXXXNXXXXXNNXKKKKKXKKK0Oxc:codddddddddddddddddddddddol;,::::::;;:;;:::::;:::::ccccllcc::cc:::ccclcccc::;;;:;;;,,;;;;:cc:ccc::;;;;;;;;;;:::ccclc::;:::::::::;,''.''''''''''',,;;::::::::::::::cccc:::::ccccccccccccloodxxddolllllloodxxdolllllloodxxxxol:;;;:::ccc:cloolcc;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;:;:::;;;;:;;;;:;;::::;;;;;;;;;;;;;;;;;;;;;;::;;:::;::;;;::::;;;::;;;;;;;;:::;;;;;;;;;;;:;;;:::;;;;;:::;::;;;;::::;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:;;;;;;;;;;;;;;;:;;;:;;;;;;;;;;;;;;;;;;:;;;;::;;;;;;;;:::;;;;;;;::;;;;;;;;;;.......... ';;;;;:
c::;;kNXXNXNXXXXN0xOkx0NNNXXXXXXXXNXXXXKKXXXKK0OxdkOOdlol::cloooddddddddddddddddddddol:,:::;::::::::::::::ccccllcc::ccccc:::cllcccc::;;;;;;;,,;;;:cccccc:::;;;::;;;:::::ccccc:;;;:::::::;,'.'.''''''',,,,,,;;:::ccc:::::ccccccccccccccccccccccclllodooolccllccloodxxdollllclldxkkkxdlc::::::ccccccloolc:;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;::;;;;;:;;:;;;:;;;;;;;;;;;;;;;;;;;;;;::;;;::::;;;::;;;::;;::;;;::;;;;;;:::;;:;;:;;;;;;:::;;;:::;;:;::::;:;;;;;::::;;;;;;;;;;;;;:;;;;;;;;;;;;;:;;;;;;;::;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::::;;;;;;;;:::;;;:;;;;;;;;;;;:;;;' .';;;;;;
:::;;kNXNNXXXXXXXklkklkXNNNXXXXXXXNXXXXXNXKK000Odc::c::cc:cc::;:odddddddddddddddddddol;,:::;::::::::::cccccccclc:::::::ccclccc::::;;;;;;;;,;;::ccccc::::::::;;;;::::cccc::;;;;;;;::::;,'''''''''''',,,,,,;;;:::::::::::ccccccccccccccc::cccccclooolc:;;;;;;;;:clloolcccccc:lodxkxoc:;;;:::::::::cccc::;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;::;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;:;;;;;;:;;;;;;;;;;;;:::;'. .......';;;;::
::c;;kNNXNNXXXXXXklxdlkNNNNXXXNXNNNXXXXNNKKK0O0Okdlcllllllddc:;:odddddddddddddddddolco:,:::::::;:::ccccccccc::ccc::::clllccc::;;;;;:;;,;;;;:::ccccc::;:::::;:::::::::::;,,,,;;;;;;;,'.....'.'..''',,,,,;;;:;::c:::::ccccllccllcllcccc::ccccclooxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxkO0kxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxdxxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;::::;::;;;;;:;;;;;;;:;;;;;;;;:;;'. .';;'. .;;;;;:
::c;;kNNNNXXXNNNNKOkOOKNNNNXXXXXXXXXXXNXKKKKKK0000Okkkkxdddddoddoooolcccclllllllcc;,,c:;:::::;::::cccccccccccc:::cclllccc:::;;;;;,;;;;;;:::ccccc:;:::;::;;::::::::::;,,,,,,,,,;;,'....'.....''''',,,,;;;;:::::cc::cclllccclllllccccccc:ccclldkOKXXXXXXXXXXXXXXXXXXXKK0OkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKK0000000000000000000000000KK0x:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;::::;;;;:;;;::;;;;:;,;;;;;;;;;. .. .;;;;;;
:::;;kNXXXXXNXXXXXNNXXNXXNNNNNXXXNNXNNXKKKKXX00KXXKK0Okxooddddxxl;;,,,,,'',,,,,,''',:c;;::::::ccccccc:cccccc:cccllllc:::::;;;;;,,;;;;:::::cc::::;;;::;:::::::::;;;,,,,,,,,,,,''........''''''''',,,,;;;::::cccc:cccllclccllcllccccccc::clodk0KKKKKKXKKKKKKKKKKKKK0kkxkkxddxxdddxxxxxdxxxdxxdxxxdxxxxxxdxxdxdddxxxxxxxddxxxxxxxxxxddxxdddddk0K000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0kO0KKKK0O0KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKOkOOOOOOOO00OOkkkkkkkkkkkkkkkkkkkkkkkkkOOxc;;;:;;;;;;;:;;;;;;;;;;;;;;;;:;;::;;::;::::;;;;:;;;;;;:;;:;;;;;;;;;;;;;;'. .. .';;;;;;
:::;;kNXXXXXXNXXXNNXXXXXNNNNNNNNNNXNNNKKKKXXKXXXXXXK00Od:,;;;;;;,'''',::;,,,,,,,,;:okk:,::::ccccccc::cccc:ccclllccc:::;;;;;,,,,;;::;:c:c::::;;:;::;:;:::::;;;;,,,,,,'',;;,,'........''..''''''',,,;;;;:::::::ccccccllccclllccccccc:::cloxOOOkdl::lxxxkO0000OOOOxddxO0XXKXNNXNNXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXKK00OxkOOOOOOO0OOO00O00OOOOOOO0OO0O0000O00OOOkkO000OOO0000O00OOO0Okxk00OOOkdlcdkxxkk0OkkkOO00OO000O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0OkdxO00000000OOOO000OO00000000OkO00000000KOo:;;;;::;;;;;;:;;:;;;;;;;;;;;;::;:;;;;;::;;;;;;;;:;;;;;:::::;;;;;;;;;;;;;;,'........';;;;;;:
:::;;xXNNXXXXXXNK0KNXXXXXXXXXNNNNWNNXXKKKKKXXXNXXNNKOO0kl;''',;:cloodxkkkkkxxxxxkkO0KO:,cc:ccccc::ccccccclllllcc:::::;;;,,,,,;;;:::c:::::::::;;;:::::::;;,,,,,,,,'',,;;,'......'....'.'''',,,,,,,;;:::::::::cccllclllcccccccccc::::cloxO0xc,'.,::ldlcdxxkxdddxddxOO00kxk0Oxxxk0OKXKXXKXXXXXKXXXKXKKXKKXKXNXXXXNXXNXXXXXXXXXXNXXXXXXNXXXK000kxkxddoddxkxkkkkkkOkkxddkxdxkxxxkkkkkkxxkkxxxxkkkxxdxkkkkkO0O00kxk00OkOOocldxkddodkxdoodxkOOkxkO0000O00000000000000000000000000000000kdxO000000000OOOO0OkkoxOxxxdkkkdloxxkO0000d:;;;;;;;;;;;;;;;;;;;;;;;:;;::;;;::;:::;;;;;;;;;:;;;;;;;;::::;;;;:;;;;;;;;;;;;;;;,,,;;;;;;;;;;
:::;;kNNKk0XKkKNKKXXXXXXXXNXXXXXNNNNXKKKKXXNXXXXNNXX0000OdloodxkOOOO0K00OO00O0000O0K0x;;ccc::::cc:cccccllllcccc:::;;;,,,,,;;:::::::c:::;::::;;::ccc:;;;;,'',,'''',,;,''............''''''',,,,,;::::::cccccccllllcllcccccccc::::cclxOOOxl,'',:do:coc:c::clldddxkOko::dko;,:cclllddlodoccloolodlodlodlok0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKOdooldkxdllloxdoodddoodooddxddoolllodolloodxxdddoodolooollloxkO0Okxk000OxxkdloxkkxxxxxxoooollollodkOO0000000000000000000000000000000000Oxxk00000O000OOOO0OOxdxddolodxxdxd:ldxO000kl;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;:;;;;;;:;;;;;;;;;;;;;;;;;:::;;:;;::;;;;;;:;;;;;;;;;;;;;;;;;;;;
:::;;xKXXKXNNXXNXXXNNNXNXXXXXXXXXXNXXKKKXXNNXXNNXNNXXXXXKOkkOOOOOOOOO0OO000OkO0O00KXOx:,c:::cccccccclcllccc:::::;;;,,,,;:::::::::::;:;;::;::::::::;,,',,,,,'''',,,,'...........'''''''''',,,;;;::::::ccclccllllllcccccc::::::::cokOOxl;'..lxddxdooollloloddxOkd:,':odkd:;:clllcldoool::::doclccolcoooOXNXXNNXXXXXXXXXXXXXXXXXXXXXXXKKKXkllxkkkkxdddxxddxxxddxxxkkxxkxddddxxkddxxkkdxOxloxxodkxddxxkOOOkxk00O000OkkkxdxxdkOOkkOxoddoddddxO0000000000000000000000000O000000000OxdkO00000OO0OOOOOOOxddxOoldloxkkkxddxO000Oo:;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;:;:::;;::;;;;;;;;;;:;;;::;;:;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;
::c;;xKXK0XNN0KNXXXXXXXXXXXXNNXXXXKKKKNNNNNXXNNXXXXXNNNXK000KXKKKXXKKKXXXXXKKKXKXKXNXO:;cccc:c:cccllcccc:::::;;,,,,;;;;:::::::;;;;;;;;;:::c::::;;,,,'',''''',,,''.........'''.''''''''',,,,;;;:::::cccllccllllllcccc:::::::::cdk00xoldxoldO0O000OOO0OkdddkOkdlcclkXNKKXKK00KK00KK0KKKKX00K0kkO0K000KXXXXXXXXXXXXXXXXXXXXXXXXXNXXXKkdxOOOOkO000000OO00OOO00OO00000000OO000000O0000OO0OOOO00OO00OO000Okxk0K0kxxkOOO00OOOO00000000kkO00O0000000000000000000000000000000000000OkdxO0O00O0OOOOkOO00OOkkOO0OO0OOOOOOOOOO000xc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:::;;;;;;;;;;:;;;:::::;:::::;;;;;;;;;;;;;;;;;:;;;;;;;
:::;;kXXKk0XKOKXKXXXXXXXNNXXXXXNX00KKXNNWNNNNNNNNXXNNXNXK00KXXNNNXXNNNXXXNXXXNNXXXXXN0c;c:::ccclllccc::::::;;,,,,;;::::::::;;;;;;;;::::ccccc::;,''''''''''',,'............''''''''''',,,;;;:::cccllcccllllllcclccccc::::;:cloodddooooddoooooooooooodxkO0KXKOOKXXNNNNNNNNNNNNNNNNNXNNNNNNNNNXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXX0kddoccccclooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddoclooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddxO000OOOO00000KKKKKKKKKKKKKKKKKKKKKKKKKKOl;;;;;;;;;;;;;;;;;;;;::;;;;:;;;;;;;;;;;:;;;;;;::::;;:;;;;;;::;;;::;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;:
:::;:kXKXNNNNWNXKXXXXXXXNXXXXXXXK0KXXXNNNWNNNNNWWNWNNNNXKK0KKKXXXXXNNNXXXXXXXNXXNXXXN0:,::cclllcccc::::::;;,,,,;:::::::::;;;;;;;;;::::ccccc::,''''',,''',,,,'.....'''''''''..'''''''',;;;::::ccclccllllllllllllcccc:::::ccdkxolooooooooooooooooooooxOKKXXXXKXXKKKKXXKKXKKKKKKKKKKKXXKKKKKKKKKKKKXKKXKKKKKKKKKKKKKKKKKKKXXXKK0xoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooodxxoloooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooodkOO00000OOO00KXKKKKKKKKKKKKKKKKKKKKXXKKKkc;:::;:;;;;,,;:;;;;;;;:;;;;::;;;;;:;;;::;;;::;;::::::::::;;:::;::::::::::;;;::::;;;;;;;;;;;;;;;;;;;;: