392232473139904239036607216381523982641493936197672777624164104296313229962672648459148045822844674117965614833177457764329892500328284582610779845442222231156214498105983864302920594936068523356822457465665069596978966473091256447626346377069227076926111071861426600225146675557365383815120624316817056672072343581531741114195629570438204703919567008732194906076387655795584733902460990995626362792879754792183298827398443745342027305834817894862296328471066168697142458668821161357628813733966688480483471158376436999792495223168318173154649270979208122123193736838027502362318657234127207827277145843962686134091375786269646959773841999321989899207013796597602039131288693371221345652198295660590419070454353677886851380059690436393152684212249200926532315521466402721632848396046268849258531957674149081306468772540813738423006941492126759382223683521991038982958526852716543561425623193178917186561052485716561336330466418690414538379257677085413749397965974324311738199754298855197353689091731866988147024558117005187933787028265578718194045183589742717595910892262665740379670204335124377115258121545708803118720129295273491425938916080806927734486320193597131678679417260033823215165044110721521904200926478921675474640488806543653240325575811291797386177376584056239805545679208686671178913333364316815699806941653285258957370678909738657531148320137908663593195966428818099428928536031708116692812060745233947664542866975856514218745755450048367336218248551332897360487538756712105293286034789024866902687234124469015454765183727615274570854667225480555687105932215335575330286233814314205041847359913581565320719169989210480889061209214685838907138609858330233228496899944879872316741385229069857773203686413298971404859654726499737925489798407869824913479065842855865343843459775394773917170429001543959121047578326643989580383269693239851578561502647920086332619397339254119459556707758491095327049850723169618097837724410735890972770829754104793757632827193494857922295675703635546513314680779862243897364426917038149775510875516657623212710690334982664838508896228213664506193948419029547012006932751198464259868781464746701734217528258971784776240885468422920872534237847389623994932931756792292234832587513177811406638837858543422630414748258246201538264683107728405956836574915453681875500727406937760693875604092547366297463841814603378326991946994426508721275738911924037722639744519576739305237853134821652676572551266008591556458079625125897766254879911443935960807739322439878327152551969159544342885693433509985844019405535945217828689590272239192622364937041906069855766462331298447528162440678387177768383198168174188491893446365454764406480676426408631929515219341788259779601607217692454530774853815232799818144478301177393642908262316898163165323552924779941430096767948718492631516384308213288348466779439426495336313040851839511583467525349909937877811684142728101776471536002586401958583272977089422658483630546900887637884510743117832213936197969162549617144759006303469731222054381828196814706445281089501430235667446484623738418442479218339904233065884645771288685565372969085161763649659466682374638864607566463784926155875943609973176801999124641572657481236157232052237807573401018301250974843662446858147481762157666321750185579414566284729561928393130262349288296941961068249712441377771885818056382520990587286678383094176666538233974896919502577220987461757216870190548443188342725777951931357722259618636623142742101341137962603182062542119249773502464093145031338818296603963050104865307466707348922895273179165418813508992734283112735756835546461612180372554939026705961241937392136226948274483631876179927080250392731355527834682933487126870288114653985164263851382489378905479183554758530138082562136883881427342677642744164791793620462770214890612497111741371141413501154172623712581184113873113110066221776693419337370713269858648346889624255007187574632516523823728499453178966532890991897461131938248342594703029236319400414715617349067682375112637869008482025481685661537179696213290467162997743882305311361494093007975191529675531960711603614503350565711877483909622698074742899680990251225432219651361083455949499168473144868079660540188565398255383768034001936991421328422523124908648241794244706625937904058640285912161665983094329689827230210421923832486802085274548409216317232442456736143357529277093338356379766773948520453391962182560074407290519623026956667014639403474556932094624513402453151626268935404617886065181011123290851352677577447685210362465785169884112916248646430468957997747667698755958540358504446553419563712095910472526886364066284395296634325395237136438330836193474048239560643689733469143916736812016508464425633813822595873799168023818563093525524620435496817225942870236586927569609305555856821952794941003958556968768602937764367397312439893217174729836446520486716860239258392507735947618578267204468444799248220312060714512486644191375422023468562768640878896627901314777227297714441043230304215429311848918679895042822331692417855159043662142973057718061951350795201306425916957993325020369647560991532426636455951682105956470254033960281625713248390448124455432101712895716244320539773875598076244597164523039029616857225888222919915205650617445847488822092288992635761127989127161740167484114782908837712250268188935251440494353195063523730932519811841329881110318514091572578431748175202259842176925623219423642409890611893583526265618514589692256329682373911738835211591391153418983597858495701285528051064557232458753572263469777914188355450354323223680213942519645894139766590978358109794386595392327083157203419152671581078706499979268373864923259221450278787745567312387625619142153398653194452640397228275617580702842256079348968633557856947821626629300377637440842640322107430253539754718652112678463176950120861631311976298978335475558087