326768432570567119797948366257541385373029771560755625231029234396534946484128809155328526552367851063887263224678475280247137991977239456635319839433273221648651688151247200136743469059112201179248351212789949796615839456717470056628164822423283093571124161821516614265297614820454568786992452104870176495452698630989964718430628007794443262566446712124999317651115426264548241537707464015177488456430590001645673484177455418815536769859969537981154351330871459492326465357535430447429862663373023935367269149438595422529346712523832577728232182087584328743819926918773212042743137745793282572819423507928028758303261329709182163233924824836730324534748082295477394530279842433388826047841986784818177261334514650771858407956019636228812376758327515764620488299931821559713016249259404314491933878245332396878583615888801755191579678768246487172494507361885056840062994593890725961424687298136149591153273139158067463222225966046283793380713155254037772355260878512353727226420410671802304646707535801150476827354951779988580746366402952792802814133823375383968638452810112267756124871834876430470225646552557138939366329827743313443310685426991327089617104929495522987673434561822505160654037576841061575042673273500269196998300755831770995382021505528178859792008429928383831303364913754991392465213621378886290668129771965153230264552211887314099932620836398244483002041483423442048006300455259292858426211805312245657376327476407352617698928541667351384580476703359828245675790163384131286821909415825716539512617172032704458793949854796452851118701910066338886773657398505025114817749255564263285216096987674344074176521604066326262640263745701744824335539104575719688144191486722275909860114960511189536333492679732815182307141541833662111968988991627396036280587629211500359385359332220624394909189574543962780124452598670782477285271428426268245617355143528575485282375693805640413603732804052265784311822788223353080938596094471187851975992218983084933379756611825828931726018860385720667282004956444251243340988853136878036256729200470989267112787028068957512997719269266973233601407362082095537312910529038879206317144539858297888876023766657601642643514692749770421225852280459773543481862225288173071745111674456513132361184852462390435206652251219654935764022879085461056149393290783932321241192057118658027086734519264274082629761757832047238825014176777870439562239640511193327294788962951227107049851066576616699138958503847614711503775469174605537704815715317122061144968387351413110238590111450493410837664922101972148929249381782995348476192181985444010642982392664967032477414152649936756147434710032947513824668063264275767969744325446029876916832696585482565555917275168650856954391784676914346320364490818535246844449806904404458446039186290811425464210814936283639418473286101762491787897774227921895076534602405239574663162641394394002168153541691451423534286108590713122125172113952189114654009841995456824649272230453424281431138873469474181617494848001101744830469841739253866266624145899733916397638291033116118999917418408868884842276889837715964577672036126825306346829065386882702188305043666038596482036200508318434949969808568567334157748263219946185352686168100675923860275305108788053825790662429523198168405874723939553087515659174249938213234199302683695313602939854770533855428414481936117422486614707245890652319990174957013448636542208665487618642823127970707332701060543862552582385450801940697018746555369521038142603330719907229280494754102438137352248523075304692278878350843171273760625875389700617383315575475644114766681141637184605595221369428859598839801469699201948680386805324985870971315799800033027850263715414137702376638967183790836218344728826734615421054516297632658012489591277751995769303711150679686334904519969629389722973046741540613471234953102854219699436383522875165113690274491266588395739053949367834436171503738961466882051994513208023833010075609539910298966500943305455157379328054972798979936223177177410897426177261623815353847410824302458788385796945924838118736306273250956457311668295220694969599948341280234066609875896777295195501884686281844458475405946123082346456650688059367073555080654889541580693330176248033104828061494611282386272496470798315796340771870844278617369836294675212225428860582211272928019592874427533620868483548383613129393512337296098803864643330445659186181535725881417747570067383686759349060934154876148377825466910145961555924083066457518511044804015755579512790333281396672401621056125283177949980164283234702127840234396482127478251705165935685554626307334247376536333347573073259833083159166934397726016256586593214554148249557277226234179337923924776278782122417661343322146837862312159580393632779333875386354741572039781398846725178051385482395570602634436087660871993930945288167231545364492638984554784633919651655776354538593539873758604079829208754922316198189529987193789355775667951269448489686345499456712232327768552025513729963568338601298481676106414971129461710441129525526718255327504872227486642593652369156772351409239101622814715124392543610105926475742145626752563601854306937410575041835749646197414995279282845549386245624265089938929291694963988161151012073295273749361178691133821963629570373159752281357853112740939787410983091732401345849962489827787829998643589301056183736795954232576847862419258359667424130568195112655282794909365349187252872673769076772199717394303612689769688445737060453498603746045537143892522377791967803980060319174276114160533689430825019536620995509626657265549096333181414746876598648047096699401452470457557752258551191166819622331462215694409228625812295229657447026589292684556996171052726627550279057345997656137356679206170804715690572352441232671630869181247181836155726216444919964196885268812842942062019485638512803003368348315123471625383944407332441135136626739758398345964355