768954143558936826953906133167409485102998987668338173803860029099285316166064379717935182055094620310785354319617429454542075814520703525907823450356053275634318049979133905933918696534729233422299712102356337516712818431032833192219926182746010681047435930985447101571290229174260609344075740481527884241581415521692526471257134812396841736416719658824800117177443173706678528143831132223716828727353831684924168572758942795447498217739028282760854239199746075516866869591889751498726913770586968286459532793594971725393562071548907634167895800860137886300382418758698512582079571422719713895421599742211643096442235488127295574544695589581119639672645318025229993683706806242858118816570872964443579070225032661213513924001060172877261848621461742509567206774319719817839979285903530786723460213332019487111653060116918962055920520798770118441617382355650166409144257205502985732231681384576719696495414219611456644443744409954230448577759910623778201667363947864296375740665218923117332542015909829386862822190155086990971796671893549598614603216753963008172139886308069577913534358499204820242181595919664452434289891488546939989378554817961783788027301687904293753031928149524517982495760521726004900623291566210170477765299965793565250744427824153563198184257003868744585074446286002036242915585913245073204064188850080516036577649165851439195645763548356178272303538145387599154676120276391861669127715331848805081898582019750127975188438324035565272745135004746547762763974349272967911625269570177873561114853554392351378966297917178916197263228568884469647760288881201771716366407611521621594214898138953185252837264618175531149127764647299671941270951125116294071981933578444208585862493336259417804424992572824597589261117384358946524151850597427112227864033690743755412987416959559678746584487336710859556784498553276266477263022615717806087867869611773315607523919369313932419606834237438677078513513495393381025496472502991354819878044579308406552196463531674478151505213154643291822583267617568037067740742648493506094166757127324583710734415994719926113418170192772989161337706237836691877985964143886794169086174584468644609760413847312874629014153361862815475586214613296163142532553706044295622601348049221217639145606108321865356390298783046954927395203814552494187592195037343895757098448423854620648322588061103029485693004207500344676878743548667325560289471288998266734428538530149721952274503038851318163184455883302473807031949889844683789373364874344722488200549096214355391427923290158773596518760450727671353174746493055958388404757369821811352047325593314599393363692716406117380072397096637492762774499161444346028760510432518569681693870573244370580733933347291323937505185153899794749867354994514156711496210561311961439323898241273181185568175513087299067665021362043434189686647539381158755674295005603538722698223138865206618534832219129797458795424247873315273224504488825189767056291392655710259912404708696368349781609478843141982122028542868253846744944143863288166797391824283784263374568940555889900449160545292563864218838497811703243173414186889281603662177744295618546148411719930988856696946021285624491640863452973829775518842643668090437817118879267889897698537386723347872235816229720076385008330793401313426180577242916402546428248938751808316418940653385925997379539329462468436627689492998222136939112679972243807565037565463380384595077453619761047831872023754131191450370392770531061028988803421744917851966067947305298262781812252185552278821216088129733825784506234864662458158298235193776472228438871482655156225833898764757231583928804788640680029676615455763114962332473893063419782151825244504867181524272724666039547572834304904365877552548071851525587407553754988108485058168821898052806530502888038641980779356877291285751743930421650713369348016677059965423753456670101808422377659502129127415528532785129560955951682528676908660173567861536468737893026973452176030309778433059999429413026033809305292349736501872181861487388665076077445651596405466131176787816181353506928039377548565037218913687954919040805066221818399590742772667893539874268497268993161727375330223289782556725786183597589963818499991376670890581888139010659316634820796871826394063900113912189753216866281793336043425942571390307423273529366552320125716487241433449777107524174253537318364889203887336453402428014643791200872147858613653558122115343816912264568506307868106620607072915850813516961160573641722923449512299943928059712261842597243944204227177941693285545292548555171356468536265055701235827474542738739681926358766884622867226102143062873584924313385408052379438561724969189109957212256640023857164808787434325153162561448400420870622358319651743988210556781644673269600884535106644579848339581371227498741758788441177973358979881623644511461216582680279752393354151112901603833136964242003481141763396371227382430538194921351277515834220557667215321676247044876860672783715020861026966137673556565670823808559874744951945750327241531544423821534353917247086170250188083209629621152416320015631582791333145964123721294031557750552219295430329091965923378065301502410728826787795342976280269043641997426615100443331871103261686059185527147312787726496447485290882463824249681696156542252857565508550732748169147674858256206549927172132085697773828936362875601076451668961464152694500911972994195736976916356928970317135448798779812952445987364801835947351338904533976595847011113743135617519247591044772383070767071297981705272729571811231310380958113699735715871590365427458972705517236826105062994577094313310257453883759276969587926633665270905111105175384432979345026333817404165597890951837760713338198487035426549470863779045707655381213967455743075688358778178983262748449477695393299223256485463099818585965818154247983054003448840521949292253660147213613263087147916995569804594