889082094743153848677883829894086378180917588563220134488174588589189574027738818205892284935956137251769673617884389889178054343669963745427482418538712426696267896338520609751379800860725567945885227446200721594790767795332260690808521737998208314789370445206408776255717771268763127632866960639733192448452613883355910072750502284749713455161468970733854919952467717019791163759583802051202883933766207985569283045781188167358359322421884167121169585144037353519867957950353635265335662080121618333748725236679185195587728719169349868509858864103264534544789735577655098628354367661169815773545052399312353583486415377243640258445301239006349450610901903543470154197437155841596951446644957214682293248213164169639135202291020478355888914341117145082759544298771589545555797937293782736123930310156075862530519384656237719162907715094066049935963062457303953571589895554089926920835617592750514236386543279929881512711071199757168752320694435223857439587467541477746213451945568846951422358562562168376000849444798060624670125799261197625101836596617148315914066055462553312225484035334498215689279408848595838042694515783919966850013611356435731259324875532896598388324569770444635399359523389018047705439132448194604573194666151592508774216341663231550185867620840771055805668167022998549090466305572870820605587393349445435922210616255817394746547512975247828576771535262975551506186633043806036519090882231478243811070267131601968535214323274015208370270609901996275256893846755772853141234641807927784197645836483524249698921254220596577407788385709560845047255577884429109189147280089859739236991139425615755764434406728712187133212843038956464820672471332359892288804678098303994837923652218966146522097193562517574324881779369209534369053047669982382012341321948811824752258767442687978887708995929649199432121411468330501862661089578573203026370061053157636577603515805160889883305159367709200990144991943896831414597574837018821953836365936629733650661964916535467701138214393787487584271808862942411379106124755172338849417308718997392246992251495064617590623262643075901337494423446490753954248282914346485676141628260477540313668782839129369399484725738846815885060722323252772374048211126659438477960973186815287938848865408878808739169119091523635811322283618669362758702752849929168859342038251959869716080404911751890361791307670257483220467197878753283786658470296005717555391372260569341835809082478814574916186942759678963357113886518198581447687793186281469184439385141732404614076863692764474772335456492844548183347783169577917325661312711823640245726858578398413598134207313977685798643154149747372401768594141587700123497682563167392439944776827842982122144776154789789641209649365308842537395838836050695503998159943057154911780513584521410612411560094126344997785223629305496972646585630978206053538180845950139563888104611773725463721251681003993335220407409314224972317390414453659768864537503430469975841711665622998949933199277451357378970868455727952463090583608049219916906011112589183007761658820631800970125384850665933094847815077535951961173148918962489723205452730729689833167247410738464022789374731107888153392202576156953378978228223553638659059984750171466718138636179695869584481772912765144910412224955216663885302960365493549471769779468584614969233523194659720367192146935187027958611461913472459937209948531917034756838621828453966839305671773286597198694047567762569194994528861957866103453272051913479840169288542219969697634978578871417976595706512768607620808269716187342831807958064936300175769601671618546213587584347118129655260756103580589655029810859261368465449495596022271978753189811444484944108595211354730324759667261236803713841175408127567987245840343597204872130548330908470393764922783105775855959453717372213301324842224470718708517934626645217316315042835279037315669253044950121222375839555945354964029689632919839477583348053558925818025092978471661740139224527598742232254668362960173795684253897754396180320874427077194477971487850210999925246187462333135782254831399696160316631569204945404845069655787330145948535377872978905782345052540377529889846553374952730793363919843723440076516254768569803070768999969177871508115549687193757634801597542935136816788250286189550265391999795076471032888274904051221367765711090645281408589568043124937750465629858840539891548105437671035683932426225360355038809410559031661269479745005762978777765396226615169461191531498105529127780766273579169118712311915261971265425436022325718449135288235407737434561930459443466275377052701421388567687702185119946823912621584606146992712601203846107412281380621696929501917678352052813252886479547678649285515963871259968573671668615481535951073535156563612446896332085506963739688469709470960074777215651664474602388546396228663541775617696428632339702428283461409030617873844370401559478438173817539644732785778292128651222359483920190469542109751214727484359042915089714568049603218081275761992232238518765127548429775632132944113722566383560235450331071173675370235798668731478273176630311119239428520624949869043726679602795003082622618873948307415138644307381099470682441349201676195412096747399917992333422598714643324195502479424910224374992522142429821050969656719769832335234762234399807383171137494368312689574199489225936312551295969365334395690295567400128398573805955177759518282560999758705343432670707963633180572697897144960617258388966048874144699043572190305868413797526819960926883573526845926336848225840541287677657383917512591738725911590756384836955857657117055807897932801057057132759939926763434017083394459381727976211173312986329352647861928302091041042148712255525722289232699448905469436053020424183314222771884189913304814892208915898514514252235424081545933568789391232741570382431111686874030499602102390585391941072117956128924575143371356618768332555358958292278