943129031717677087405816925374615395978897651549121112973168637176523531307866596351782684827015362181317856573602706657354256950943905421833493378198994994807668684373881054739643612868349637585529015893299678782566363381033037915214889021523946170769277591378496746889575204120964145554176506479214798476630199082494296655266872377366684819179251672704541807377197465871668151262411731699681318375543355865348782425336641049219458739160592577508722558472168597648172115932216074169697728832293130058273797835150215029828822652598415776238701140478266498646763596593321375245614815430375789734283578378152040487671664489592647105808806552196996581150845076813896177560487027749760333340928177766717813770639649397132722940384937915097131998951138892771865547326176346950719249556250165996648063954538593474451660735841127925371368565229122387637934148979929607159375271615378762783293684618175045108326246553579676102626104708506028625174542166131974824909307428836534812431622817329617567961653752264472572375839902754384860923074058009120517134517667731763539337776474643879263481164719317825531401896376087046865070835941375484466926658867622344491061548735255304861136735642882580587774399921291259978642173657359198720869807679970722384399205771978412656771441533158182939440515410731094970853036563433458356378525354825218739652594568724406361527261639718394563219412368440938957853192461063621207561329345075187549883075298634681756201696612341355343843153002206232549819736372496783283749889476247331049233842518402824921762505648640790384894446349549118997663588054158854394414366668164919801257345016406119059625955272875604797124071121739686232449765066662265822693445351229818020239311362155682849635145505348346688285820936207191925932053230551445539309144422736675657414866581375391255111398450087346192188362506942132816074922530541462560887369417663371686474552301134316825614236951849817956128359887674470166986371128965044030441240247593656835343549566685601221607185184792669439038654223298444922026958843845828787617863623395169055464952456921947564915523417143836359972495122828954875314170596882754254527315790574468626800357814045888840862693640276985019110222035661992130554577183238282530529708880091273882483176460421227834797485931709028255605371375053739665431667279039151098203476147536892011919392954041478371767942927968725567872809324172422143637259993747426648935926874890007430829463725934663514345268247846368442255418901901295863589625932903093233873283722405430922121475637415199857199835422339246179191229447357684572859624776954651356458441683472745491948518558453834081804649551571151271291334572935344709570211885416071593279722180486996181368363506965354908380750329947396942482253395385639370848802890378972246642478516976098947069467726703105132441039766340704717600182419748523733487727853926335503459608815389403909626642347103458125255119322687648119124412134459624305464369398469664319815605793389065886323134172079744790908992945936809796191973788025961378686286155825018296333844146529136520547624202253287639567293345243593245915581199724299083462482764813343591599055112400848704555961689282823118683673144810855928380767726922642524706975070376919122343082014916163447335109440151006189787436169606957971508423555148471122326442449392110361624328149443829848881739681783119479118914466624095770427778675016643397390033288115831021427984440393673318270059771047269867975064303651159468631385558365085133593442645676928099171214794788627785220985195462394846762597096892739364363219010490047201273883332791898547109692277483757388447555350770360733973109593745916511849170709565678352948700754161547806617342873188471594620865840861749242584695485078268235574494075387353922194831994656718120691472637380447441316857535677455554622483885826787982494325224720120837295214773381260453041537086369107238799549757292783558252921100845164745781583130338357328788215444122544591052588332885567673555756841616708585492911272411024959185108793257220530521748439251029317985391842793269581512603472649344466461670340656929107869852798337715546152637330016937631860485228574194638326274247493323370171466851466825942126975602286589445806446331095700236462367813684439554146888635318815895458737268164885510573317515209341695299276727672761913028768878490371075689596341067039229747298120814563610197735702232414480787183889923692495950795543639555509378973974136861968966546837457897144934198666426425380691653322327647581158873849647211117336002178650443144766497249669857682708952601581144445627063990019476807892648055241144656716451768240243744397565852197522357771287836882704075952112311042252014520096396031963859993509961382074954156977567546578475224607038944057447709570628739277714555051682496573007687938987529474084498243263113624434424612176746924826407076494496598226834029820576951292450390575602535114601165111636785405796037781530859768477253441629299834582244290508523756170823553508291070765059821854515495910579972089483301780498325334618151776333755499742342111581645962164078403165757206983235951467357848078729279563388961224667366321829663317985346255036555969041308055105092111508509636571560190290419509454577408233796492382098473236136693993181163669663476502074014131452807446849492647146291095138529106954611743984537122978365606441512740913491552750490463328709728735025899234614821868953593697843866353886681719189291113394357023258376616130706537782580836291518396246156718697375313684106191817407837455752164001275030528924729143452746567391404043233533209873735250579079995535197904249949191341860584427181758899166678779469774651752418184779180279554559015793348558936697345418585382632636869898891285473700566957933818132676462589287512535077758328069441207844354479025558962687166904846135014066466261224836103319078173525371014519109364785263098