676571799931892486932457866475772066293101981524253152120995776492689428797617594185749336488372421127234580163865904202374726439347314730706592732927526962925785679333257837174330359885561722142428887389560028522343489690343278261189665901297951147848867215239231490499368614188066621339294020266352769888072198532471821277127441198182449175270028835296166013072958589177480625087675909919349103202967205311129219344194892030515585529163576784195890201021250190382122778220621248252795116096907043343932978614723953191908847820036856367957698353501722149086496268956695530669222730558543645728466772218541609455758989883760153805874122910309944500395694574246759457391756085902893067138419053649152151856346079462755634974448648251610773382770266520831986253726484331409997834516853086437082125315554360292457975676561382577266268748121955162387941436290853304190421012072426447021143730563218252880604423621216590299692136641433676663465654396518295233449183324150272589260492022719102112754946772270128275484988833516964449222889235909018294531705332489074061692642381347616051674517406999032297590416432174500961583649372979752667475044986585371240052834219022489615696640416572254902202121337679244760026845844058110370821401328551898419449346494536711356316181175812347091076495074723187661376879951632270191343517178214758783746316776261277898859671010171789879649145967804472988536580115846117903121657621789378307422318946934795465549824461576682327132668151582780664032534381388560117373781177112233346640039177727317047387204618961382367497894857566937338976920250599479933488525245850473476082224810263886078213836243077311255259457602363344345217497831962908545837913230522427693663986260639721146910765238619849429197865920624493688844147876564330940074480550514938123074364534785094028709172596060355597196993434876202944009410645296599349621823598259964834752733534800752355599683587358284269361962713301320971079725629447437483277189211561854405188013155786673559937114824896465816735818688453645456424522288168263229818027407169165411062948036792408802231244656703977079865642785406000811283283121320351298461316406184026964996300508071362398111642717407816190593159605988155502452323861301361955943778674916204014467883779669303042497946218443139024883782338741841068755924638842899119608854653724945698117819278094135758843007944154538554259997582245246390209926783525163212318376165406315573118132631145338953768286169023267831854053956919938765326188514100142096003349025391241441350749044224755662848169181265935225993997899102723707723899532455293804786475386012106334728434926469209142417355171146564627641297130475273684813605849845385305617219045775264117713114065617790707096843917606188452539495567449017021086773282383902917281780739085256092833059921331828244814869162649317164483240821552676855278532708577742448567835722918718325981750915349593623047693874733911332416693727619295030740972074005125950572793276398095148351267576072902356542212948622079558076460668101755124270446380130216308865753560971724361342189630581711410266692880220552078614835039875619187976909150758437456002642180751040568354522130235999478419317839382701469123357501272845328166854055839711214897345660052288991235210134699262477914123122501213416642187118114146595488437447503741871402909528851741126344665738068282827430733497455189670697135854345464195593347879816594222916079152653626627944148225285069682049324869394596364872466596671109413578058652267648981903751479361897744527575841218925483701675875434264861089446443260847398197697574395838973689520209470019559889615246487742716110346558058061244492339110815806545618577451724366401477585590372959460368878398144891552057317161900117618502175668228403755096663746791360077708883137742745577822875082683734823641858459484024508460719025998452667875415863795348248207790542506406229281490362787924708965421412627967518682615544510715729957984115346076530718727035996843551517927338559305594896746802186707886462863498059636138125619647679886622678413775965422045722848709077978508359812316773300877206864143694842814260640788772583725493242548247975258244717982495109188750426472880431211860691988552984867897982229238384218406930948808859170314003406158855873639607914803073897259339563371594126251190463586828495548202497544228604381749553042274713783713162664633661408457462811557179236636637916822424750490983049981462267547323104325794377183863857488415727977284727589295562397986555927010783612420446522522548037823792829082864886772397884222706442676284961363448829411614223851832105641589125529871333365858885946156278508489677917848941954315690689632009441564211153472163810688055613049319044792730762361575592562760622368947795985167186792140057714573826991118849243773437305401545837092451177492049149915033764825422508941217126920112184418960906276286885527087096248498416282752756664245738445637434195922975213057145837911529672733714596293481537053970841494239779934098876563850713212613747697931485595887415498369088466223699818681338177809498282687715569572748955525373638543729852954691464166109494147248310970314216384857601671351175118473873366479607355972351518220707362462033649621931548264152599465683864443182347303507118759730335476771195109981689541759767175655627169527788172873993490498746955430744725757551192907229420650854031273936769284917040112111949047978426807361466902900996542827809748487561508745694249538937646366502289953469078227637223302019605364589144016442859794166191542986661809674076343303441986628636194140963387198978436773503558574993465772933467819974622103784940772924175344046963255297601636634120870815238330798796840403822526307211287899700335849082770936534850123758876869756448331079463069793409737220719791813915419581865461914110358952636210486188086429515429868277125797691818568210122913373560864074794659273282669879530152873