81167122179559438869702833481840361981859347801955345655562052716674157279334259243617908454376976127463222474155207668563393136916708755872301166119115828139784732913838831635440428382385024545225143221225048460582194758210903237487405387692127671790365054872401373709876263201653438139020545882460644542017756688668501492859766441802311593839644907375733419067268177605883835993264584505991761894658061695206133012447337684839355836139410277091424990745612654723293462205652204846604631064307701559797384307678627493891222999429246141914706472053374721821122291510140612621351876881823363281991146683294063533105455389827897073099720683486534333964817343631731672937243386986988527218022019669934617675238923357505490966889286342465964836758138370121011115763781785515431981553907174016880822196306011224645498446938199314912186591707272415230246347106553644385962888044721949350823319668675522729873266538137926452456877369665911033209818516540707663374780937449834249841655432399757432686814530535357155605648556852574797277334657694229715617080437330175193768837814749319844125127607644898371691926923465938732942217994418638969943714577397292854285175853533243508448091368005965486372307609873886788967861235049207885493719923160979637364184139342248117941470499866823633675249344499670972988515211585475360429098026378978163892799319175686407277024174390991343485067452171882618740701755167043125896213988383476719182748121468775388949163094430225473817619909858723293413124037003749285872042924412639353823642064664865933526187732739633901798773848311867786000968498639408272820517401464443421764465435616660720533117826459299639112141769152141544165722028597118838036696585165763434405574728801814798652479620687199083592135065253171938624391324303985561664225053467293610312826981181992311771727097118906885166719892610785370564940946963038300301621113328157109328207953649239034667876950113608885454578248392191177835645757334726899966518545336573852343409959273548616309511953573332433747641065185898447452341231942438280898419257041442439631479011929988339608256367354532819664719408743633398241244728758831849920171475792566960326752622928772021646775822279127490874795348741298066785146150115573898795689927875419996279141283291945087950987797711960495296945846564759347708131302817906733576862132975442860359534263757704651694569715882571661242869713533341495920757936416278493369533697942089682377977926149148866714736051799133242722542254451777328180644553212325287215470334599617963161836371315787466994961716920537979081888196423477322126638126524905299809729407325074585231713166820731058494383361419590679627828637453786347997692280892964354914586329403114939063317495171101267232443635771365926456010099403254521926825565417322443038910971119914940730553419827889944885952398728776818279637428987749931819843798550299356499463539228293849410266124395910271687804429048738643441890085958941799510751629650298628869160603570562156895778627234528852769277959989673311841910064045329247255605312892832994442764946299747266860530016355971949065563007132083022339693118602508442722216152183085908015421744297058577425977988743526068286728842511284501569518875318169455383377533407817136693201774385584053625615103315503411448317255351939129012864761347004002199934599123239657044514522420811752607940258792204638335978498128121672725484513482851851742094427519584950374889585487679919204342593553855998151638675279394116099920045722549672083291894567063856364846138344325107577575077891137774915088794301365986391915716762021446571536017183998111847161313302381162627285905416437229246750637186178318516495196294887092134342109064834908719738585385675699597997575840324426171278488638316832132696082194781160148945789923155454881850265606332083539683469401295975199007040921627666288305942904620467197814324691642018185250084575318183777212954889389858484755939259520467923569994432086821233633613166621695895721856470131996208341322018222245810915527769998311837295838752928836797970607488047415285588844959261225658113538493931915749920721429711637299339434476470814622729234417988713327791499417695359785714209910245612632810041675001687328384842361622126014314898796953910745324754250737251318602082066720860663029689528454670185779042236576366280979732994606732226194399441442497085026683960947328774263901930490079487342967616491300434552604300324118837785801934443162455564400789344885648979231106236582338391353285270089393968346920382208681526511266878164447238631519105221072233731855248487729759766096505194966030129059222281243039078407752148584615428827260916944858917721273161390689582501649247807579126441918133691079461391912226565834565296352880794780968613407115416464767386438448789866201301462398628128749026032553812716295515651195833000569009678915795319311449865780873160956941740136403876513926008919868312876064485152617008679231406080637846044318824931992290687542171451490954867052823659475072100833951307063545169489227124706711741342401683116133887881649524455578235478833076497003287217239864312150974655801279184353644849645067898928531504282542115358087512388480203158378059149551338317542715644282946314140044016848140588437771644958031357783813072937523502702867711965310168771818764319316908505396195765849360361374920824531690546419288604668926393978589771284976368814623993438829735055408358774275251213258032763488449161663661518933194749721969755886383683037385455887679534113447167862974977684942788239078920234251179238622912952881316677085786489781657457448182471649554297327486710363893396352256852921296266055433793352339014929755838530034685406193487242223973695081168516771649319914223959101395899387843684429870738870670950786223575353647730921570919995318750164941055340231985098759530340683517914755335672020505549417570150073096959488468345183127324992632275991494165167