796359621553593149992435557633569532827903244474056672544349481330954233349586208612889347469577559761749138880413120634280826279181062496478584242349721902202425078145268848389223885520774974775747443723360078407065816113411471284303753569381303544745523055391282911732715244520872831585360551357688015332223180492109309077506579635850933913787322332634316084085527126214545606722320075420802422209504022862767026930833310717994541157137559565509524323568693859884887635596083678621423097601130356464447532788652758989382693813930635482579566612885980245702799918521879115624072380552855814655066694413134405649179379535876252240701021737671595964126773189688335015783542654020157399754126339558569526323513919013503740268660449660977073797388697758763853490810155256984890973901169139023529519110275344753299926226113281163670944379094285802898327601769673912796296723878212109052892459377848428327957047669877940295118888685957312691392917656019434396696941770691702692473441312634977441882841984522215517265652198400078687087607348557517253198276989353526061844396944463193747321141396788507510025067751373306591716852224692669666676284055394540624088256723537909426416525465911279173441837301218612582324783532742408326676893103290660918246710715546682488385352036918176875142034701277676900384453633468189059799411899371812926961777416784164631922061488394560830682259855691459075474355328893533767726154211509137125838975956150961458758442370759373983213733405481695352388793668127245365616954710919044155769257287373386464986509086616816871876492984828037154363601599448683647170991047768589711268609506672903006112834161730682037841020264180714293239393059714854966817688291239791021201753880186506813458244636234814718204995818374912812333686582027553520836631784151586281931498299366498525148844264279416544828985639809967138759215623495688015394052674023728389691485078000403796973824672357799756423716898108582110801759632332969322365896489244824414482098287534514880660541704789683777530994628028445719947752307989310463887584425123986307026597167383898648366501529873575686838145881681918305588996140088567825345705436766707220097822822410108227174763952048524119532225359960337874365944547953172517847245754130941861922814976856231748198576579510807020986323632494271073781691574127161748276098554469749302602586081934317236209391941591621443327089432427248154201147280999326860824646227460995962836278861038837869158866080631896155716866913481344548642925678876998864996673609781412769011581493021710546395229110591508316451883817810498638523488902713174274944217680710661502291446433849601702077818208855266349014632801311572844598842763999020156272638896176069547833215586907312688069074732388446011694593587180741321573153521232184693751705335214068483753166677529564564781733246486824934306726377297545216565649848217568837422249304584826138465994816371034807131352303432414435457592234752942252189667429208901573381827194275072921692988876339832386175041307750164789245199822284975742994439397445264704633784636209164978594567914693808738264755562959168142108276606274760748567746082316778044979863153098324195379427217231370239384723092347118912109705972426696395441142239876667654293381859263553459605154731327879296545265269479747944045023961864471795791572911663281619507920997777124999726139830961081648094407910573526901162341556826513427735552979352607448588749817568519476617681397538567864250878113348696433415797815679634204681833109643581817058462301025484299980045695775333437773249724949186148186409243271054259199268509165192786613705860141279876596894076489123120878766983335399909628376103257268556801183438777024504412192763943217272123289712328884311878048311657285687382561507119435286582834746786761362329173416364699064479670557894117091866747860659981556296117332743327923521214523462496013205416782429501440928637265337943792043658837454277780652847682230658315111821799665351323170941735598982685207620754872337190549332808399362977378603260333035675144099969708347791303740286660191405844736819508762523849671215234538966988403263144855719679304955869636778269272420456535412128862232225809759248063351393533824531895954508498549479202183803723183388602928141881178378574293271897917724331932885962132012680363438849591672263957484652831284489753792882916742627879362783424910041626163750277258008056991752514159442752014533759803551364965686394241083860246041311794867831044787691898240429237412032317441273521389773286742799949642934101970830532501315495277684844962020883583363304828106617236254827327267210546117947676956890125158184329816523267855904379892259160184803652510763152389363520663496013816535335175259008656945953374864398173137992326332313615923854047273779235089572936366745357067537283492227044394629696586000291123468518458332648857978317943037392123797894878604232266938926119245281012864010436146142167940243911906462848168332967569952227804292942140475647399156929382068778663592181803912117068524515806462261920426319259065386572018356838142314695359756097938130148245491489244314385078608891311153484926137623598599922850964917718136113217148880913511188900048075946980982032201400988147520810626906071134289691181648126712473361380019421397465144695862255115245289006539011946691969386708978189924775033767193334683645522865931611560385535497496780199971177393688125224367044083952929804843241834172837418855269996390954683047537013699378880076158451754776677338914014963030717693331957829015021386591712069146726896446556695209686673539912142809224145690844326557630063829557787418269325362045594200914343157213428545623236803653447947195987756648224238826754201975241913384941365748474768466741272586228755636751327164659364587108224253165991596879393101478336314774319220151120335723134320032351943723529696817102431217263626954970160960405786585378521598752216193922606