957379879688027393998099990259299084562123529603895859773715885757125108761007317934917372815854763821737165176722016210791524660574069054592250335383762684096466169569955032663776509660175661115184749781136353588790456590445109738750569282777466639925912050632028554528362910977180761956920845349386571308638512769739819678847519061773613186227730225779801826345957441354705386112554134589827912830486941751466728348279429199217935784687501097862691368085685259926824529499958162590835913521630938626532655549271847304771736197598531122301885011276954721405144657236452849036169956939087288154513571983155599395359801637292763007876922577483390424773405976083964450262479506982815688011412608517926772708438026098220140112805310254608480842630885593968339476097897770985891857112459879376243414040280785734245276145671665117023042742173322465013615453235076929541497775276620205711399548572690577298337016765557775219904975541749826828117318291851792396936372504490136793408855549399705175629293861913475133935349650576598216321378439978994805720306833626187343264997783726335898253408599502827815365427590852529916959366484625993912234250405578764635932779154316653171375174619870780469287566947138159437344356683570426812346119867655841423097475018232768016499831960446298850173698333135660126402176576831634535884483025219284484351252668130381583862394886409853870076259363416611722931472736861556111591234950542482140837503299960516256011362791769071853628396866612164470650831202490392622216983346184186941680299236727477132191153953997851793900366451349880710758224854179155217138238804670805042084486110240721244465542533315817253097195949156124421358876273035370234855532943147885204488397360018123666451114457720948676978352487107420336374209107156248847988274992497141478414489889983078276814068095788137890495043635029275385907744337238161449534789564741620543189650489744727923764746041879102889562534537984630139902681441419287535455854538061725734967800555222321138257540074601757837504807803998433167302838163879325143199165159970991067742065745159259756468961214767128852705595647478150647314319732747484204515236957521367481430544707220903772693767907260717632186347976654737638929687967189209774108239851714507576011854955248933211293223513921249851317351861211843144935955837027706205134171648897275386003158910974171467801092225651121636142524731668313818744147475166863042032637235751814622471362049460380189885200146537491233724888811174589696015328362793947766681352187798080759019158793620282295491205167246724735344938594666135155295109009324875836685775613178641892697108992369299209326459487486846559353513279114656704379013772332510967368828071731532500291943994596268299230223037440113298595485648757899504411466713413075708685851521460912664344202293920520305186833168737945314728789923579110115471666010434919228545314520578336134494573081056593466134542776187905514055817304999097974126307651326882469734194596713923954763730403135755374929067378561816023899715665523975403246306424006121780113247873280156818453107664144860276364184214969636986692725553486892344222750772870404535821177365851826887819414619035783364246244614646491641391711896219751135278019164665191814638544857407464476546458554663028527465816066498135515725732096663984946236418796305210849448045638688037724086035452938317442762546110351303191722203587890221431125754610562434958916053991651400848688799283780222983759569092283878276149148679573242025508880528720264181443341491232744604550030752025177280887548288656512831086138609512292371929984096615934153372409812270446871615387576902541777445081978365286227317614645537211622591138663353803627894135484891563218675204799854668495868853435176221176763248078507498393119318270041663224269464466326955331494343192187188730609701093616596442722663302827137284134438640599749634341116948209215453594751133682107889494758766754573972015417538299475904603423235758960320109624036922968967814584259223264980508270754549212713235236815790781782996093047471754938934465008892295066815713839569870051483674243992455747727091967122333938484050825684043552006513555908412842877213175840093746229958275347393254465269822153462948107018492468269997476782507772288025438533135591619477335031649548164489246644602342259994534925330827872586480772841562756605549295356224600951723848900899911042764884972746656503303891972070257777068575401357234142859950757287752668392455298493664160133115341213725198694755181854051314015481420215750041798525198648246898175219392311389448317225736205048171426684505515239297059092319176949639089724286915755460714483392536287407650446963414796645347906996392613730376628879125944422677191185884834476323004632435837569315521748478422848120717927898848245344611547932079716741454894069286657712826408552149997831711383853838476972490921243201125625331982122977016134309493022861360466450367816326845008785451864172340497852586526516346336828644303285904018055299320847453801146821706954277581342798440440552231041304228221810651458696854848322115920798630257131533014798504658317331050277661577735143858121997968174027108957453161213284539148488763957342144763137232048413141162041960746169555698095562772151951235475729220844065533739324049449931729716219240328402719350798572190441562415455875416159421799377155253525159670543467302816188567437359893253538602707915399552221576055691718216177912911310816606513867286594867184323348686034282203738509813522576655375275977084809245098673669712363976109063188285535674961104073039729406772119791433351512858954426993678026725399046645726421122965116624766806893584398355983729890188593898840408288702086605463493953305346899734498483057576785027129015327044766426297548271123642411744167294664389108628554519978184698220798383092279673595899534217125053292348016967981672627558419392275347450350627857590322375501