Hello and blah blah blah







    ''''''''.''''''''''''....'....'.....'..........................................................',;;,;;,,;;,,,,,,,,,,,,,,'''......................'''.......................................................................'............''...........'''''.........................................'''''''''''',,;;;,'''''...........',,,'',,,,,,,,,,;::;;:::;,,;;,'........',,;,'.....''........''.............';::;''',''...''...........';,,;,'...,:::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;:::;:;;;;,,;:;;;;;;;:;;;;::;;;;;:;;;::;;;::;;::::::::::;;:::;::::::::::;;;::::;;;;;;;;;;;;;;;;;;;;: