7 138 28359 28179210 1944346011 110382682212 5625548559413 270621957470014 12673637510414415 589320793621756716 27562584953063593717 1307712885984709512018 63297390963708178452019 3137316330697201492532420 159616535398161163361816421 8348353880431237074156789622 449275148361980116062384926423 24889076874934045907304179398524 1419561201555997635618939146211125 83352725566258462638945067289550426 5037468479628282414536078063973514827 313251390597634507430068084564502238628 20035119960835913766006901728481708107029 1317402018875319736373554796700758094186030 89015921518554181121146368559197132533760031 6177707771892265705989545761602182388526732 440129349357875773100632848716401514655017438133 32174230125050419732188335482635381627598693616034 2412087706332770819188531841464259133223557554561635 185361508248396730979109936263039335445741022380354436 14594031274054979135111352031474123720439705992361892037 1176662906142496921315485984665256413296105750412259422438 97106066536688971137809346385841031556374687835691342160039 8198975603092553518655585348336575183738549495784066320696540 707943154442873701048901705293620005758666514694477182459517941 62484844930981323195320272708968585738506570083722036062361283242 56351547695026916899800852212027329769210040151787272668274530043 519056364353962883650769953770477585982874903345812423613351433187044 48812233802668368063634352948648332122429386729384120876899748956806645 4684697005217688290503433261848045251722789100113559665708851686560578846 458681528802889198071669208759617854844323866929696805856011847074840286447 45799541468472846239144910841024855618406762994487747538352747720285010919148 4662074094012863554460022858882457223417704956393430543688487803417284564594549 483635386888601050375652955779213892723217294721065180491339243432007717093099250 51113430947723750695815198807981055123334147173674905389878876815906068975486255251 5501633170574349676409159623543635679852804788568350523708703214824755706663047082052 602911590398392925295071572995590370978030302963526592471468336844087395138476898646053 672497806181373084371818579637720139223654332953745278244887378780459980636269857620054 7632680483414080745482977179645792961697675773962265168531470513485854132799689451782216055 881230988887091161235344569848868261610411192719707598523494770138736617258307066050416906556 103468945580756295712447164564150169710577669437536628813488863737114567863211501060052308997557 12351578669911771521132873914547823204649615849125668877183879729552044034280313628490904903691258 1498701172416009389227464102348171148664609091006298660679822396627703264084049237565248145216646059 184790198028767499736111900612006620581801788090687073947990145315729462668278880087148580521824641060 23147729234686584329203314243191355578410437907508134249167231849782973457850170958746185085829885762261 2945104378398887690920675740157048818784186906095527019754744294908302466983720447247065470620298414286862 380501128690926307048605991474354346417092685546839584643239681154218428618257039615322015610201054872208063 49908791501941872390218237012120447150137178059140197921953886903435902162801836723833494653330343183220287564 6644610807106116911049343539056629820585172940029886445797679466495454055423073114599102994565225809648610278965 897721306195351716669803398035210569067800207376254976071552896056235240014126808230866042301624238386251842195266 123056219813991636563608688713084398340071792495877424687274298135749195561169342759809236623473949765998696035740867 17110732138042613630620065066832104387886000347216857164729102087430760179538407278616841538202114248902829700693995268 2412969418607796763719506196161528420822194653671897482950486763196797616289877196600795760620160256234728617829373512069 3450409666003944621198085490020560639325516651442940611139351345406371889492184590213907921505554513335072341090825835862470 50020112146510137819002650427525858822843277685346207928594674450509313728531160477597571667911377167748608091246736814726471 7350136355656366225283128891247311655839023773835090257322651754372585847251079075486157133981401949807913352781657699836297372 1094577249228643309719579897511607350068412786052375901057510580538903727530352784029209459525703177519868741347552786616860153973 165166960214305804020166877913468218316333545551850100648322446459839954089401677772450832059103396177085311957801842947035760832074 25249510191366025474355087264254698173282094613201372236703903633070058600756926142310239562836156544303196842363405284467741851664475 3909892505587066704823508400001885663871539435860684159378013147417247070191959493715058095181811106966851530527060292908211207356984676 613182171103824825154956416682381693059063248407318627133613783120462432108863478177869399522697838469823480664850676912399506722235185077 97377691602953665699725545935629836789167658287631330112719634515157038341751887445888717793871183685514339102556732410470725307478385038078 15657005126440183718441605590631587250300129052716336855142299607284537820952903612669818714511321890242737132061538451680531944279903969480079 2548430077637893982101317166201861831763678678213489822934203920318910151693182518212024377322555563492820605262519589534157321792563265152337580 4198446237622991204584322441577332904903529719394217925251788512851654525266232124791373370757425398055557787545469788018884702221086505710581 69999476386216496842672402752833919850535471824955739244444940976309964152048043412436142147317323470238649242675971698874984748437176630831297998482 11809490870624435101103336618337635196848946157950067182139356158603323643447753460820874859654881882041912630124899436150804033250581228986761869028083 2015760637729699866863150342833299186457062764957230002154853070406608344008233778828081127907099941386801340459101867229615832376789126472052902167686084 348065249125267530664014890984265788394289122708203155436102472698931575750666409171178142886777202926055922000541451761912990611831140471576040682748717285 60791109359909230914990891179130038523678440325682420023799549401134342127441102403328875495933357366446323385925510546899393257792408863894141735819347429686 10737969616905699147949354692890415893464497628077687070592830176897966150059381216263192823192860958278996466112854872106068562603081916354623564682019809931287 1918020104662046684983293855016969599932518740196170130933827705824573259083591385924071452624557691819403223054608577992054752467552829715501765048114136487835388 346401968892127692847536102863632568213728756383844733197167010019697119799299756501043050921426366967397738804603940525681673167704714187063230794330782769958977589 63248787140311541283509237445567467393919695636157786720060190357245367848298964915738435140027906358022588812698924242222955971386370179143629908777521101117433953690 11673960606207042499045029284494929140407482724835438353014874126351052525554293091567956095453173661367224713522457828492276630633955290217503613506100489746500594407691 21778550881925407971365481521993272006392999727322818644496621860452811964410177917063724639065585489707341725427534363374863983826839540996170459092389955003069782692 410616166285157708567734877142844141189260698490480397262068382735708388270136497972673136203662208430856340655464298470449442523431975470049349396955976347751085754944671893 78233358852865291983873921743369708607966916102947626275013355933833598810497322864565016950204128814326506144401588900304265851575093676132458282206685223685080693101557402094 15060877947187884915284394162799936712407083629180135866445205034352969847924802985130368153978626142229497885115552241902161556172211903205283510439418029569327345093866316396895 2929310574403138409957384068615880271941242881144526313259318783924103350233567694187115769850818731523897050172562357832578158884991696634423794618986807970204675570392220418358796 575562783860326101017095817713759274262775537052799672942893517960517367273189420708405265948946973994299334026063599074753169711708294792036130375617702608683060311469589944505404597 114232151004871458717076880426073760477238605371573839421740771343818171687879045478591294116587047791051716361260634211076797960674981545181266070812914504931082245405086590884808732898 22898626234275497665502176222900883591173441494531638267422411098276105926007099622801576759353814232643349483376026074994200451963297861163910308592513388486031039406850252080936171192099 46356838327085182177593412037875136647494874937116139217151055236553745996153654715580842601809742141046575879249473534214184796541791772741161212443889854261750564921637108379769158639560100 9476766453771287658976193447005012848893965506777840865363505598390783237442501706702347412837488057246901058018539854984204454310034169541705257231304068169042171165388217283994916546121528101 1956176334425809547051928332078522193701326433270145347100709631490508765635317204749000194898348480120089334121167175156794954783998532689050884978719635692778084398189914489330365485932817680102 407678206830349877353240142174048522054652217512390517928606574724004801176292162639815372264338135263815365175477873120368284898110617996034466502918488234283823447996402292705941481020250799200103 85772806677178271762198644397417804693207150050142164700700768787760047872382909477335516937485673274067717357032160996019664852490408039829682624541543333676846264596435021081889498334554723803525104 18216546641358868982991031605779185913607593149716225662311615952843709769482604415841255507297881693278750663087496487157619200399646923598644348787184436388495633466644761111075488515135126802953115105 3905072967800492013106456846968390180018453109309964405691473813765317243282498312527439985918045123834370823175012669944534737970930448691477713078648787016006401964057520103570555171330591883696308320106 844893522992862607696322746642876440829669407576707131178383327875283193356085200774961697244810121414754083423794902065324653338488346582954822578297561377779491102255997651715476395750826987695359445876107 18447955552081831801358467887002641379003721436945473630737884311002400961864087355697630559208981960897233524891906068429740221725843466314108072025712717241043562945812752427811660655908420972602229278094108 40647355517256010113678015873609522277661560364938280012386968824357046517091729743815720019024175398683038083315816269280650961058600900756025692562849836052416119725900874131358552825300270765308599442993810109 9036892568316877365722637158056079190672165781016162407467862853525617804379401695094919534978114374070933296700441505882886518146525746315488742963301515245569420666472992500354952265393580781332441189448559228110 2027095948017315243074677315778734688437701204180169111349439220631570489506777675198550199862998398999681849413272189496567027542084335965994990959246218446739259239213292610463387976487485896164245761046014690288111 458737286594851638721404821880942015936473064215313641809119690579828757563017684455920062613978709699023411295582590274143780792574409778258712080259236255494007703854175096691617642860625747511976562301419330901079112 104726139346819378585643656887107373217023202273629542934468872200007088690451988837197650974766206070259839161552934233947338254819828100856572953473699653200961575822177308269743852320090895009317156292719194535449897113 24116528631706508744061680035508540769604262183258426653827773692601951004166324096732832278231432888203032040756708245265143658500886417028823768354881017420409678437481630292582785238008630412066668330925483954058082800114 5601586258152994354584902966248398969271991571908222669546869200022571970669590514279740905226320143996478206898158041348297575708165202442716936647347392690685150832651571176318652739604952445207718282852019046977724349432115 1312236802583058486594809151246836037114438456400847115252234927580775470244229865744752364401435873160994727147627828540675255490562520416109954866437507154778842040727168351067916716529031327475754463189883304395497103019988116 310018276099176224427633553184847675368383743416920273199591055638268834612615433647838933285076285364301391385144156718157308408480817760484377816215264616480651342048119258951817751615196613976878304687908504655490748466748460117 73859393029024906838583794888852007282896866733366512541130412623266077434599170878027487746661910765654060952385951021840963669772597348572179571649596158147841025521860799743438421564513096758077058602838367856406203119536281256118 17743426065037855179528338888373026345249872230102520742723369215176722098443136050771704963495219467886114941570766568414060493501130808770301827130029056504015667767195305216863051101552626409488851295609334725693949276071463120119 4297867081179310167740336098016331938789462585771263586948464784334631183660102145533918874213069522822639957569367831942651359050308014737280783358257491193739597919803385164566026098229904702600694478879955983014950984513200214036665120 1049598373108327579894913629502430508431832606404323528511947071946942561687960431464531573057833864459690198012177834454349249168562578142674175769512192298342112768204278203456647779356226137655973756235895463061723930153866863539938791121 258415982062689405126323104513702399319852668936193165003706099368755472518715523159108401270217256278039586802803321311773689071211066925115519359255440249312391154599182574872712423587628442922707899505398633311812958340299523600136849456122 64137714140917568450509615760570428568769370436430189502118752551564877386839432168629726295502942546772981203471163493175565048586574259784949203656464004752813371149871162295896851823013748146745615001508968734021990312810220579458459858140123 16046405058906545345355931066099289235165234464512947079675877826195062998668972687460006568902052573153195263982336873633536224698444777247770153819156808053339029088839885231854435519660218384059187946586229105075115736488149427812701492592570124 4046549893843139858616934853228511723517812845846392334348899778836875173052589271041070799463407431805046870046437007035683813724385022127640789929708314914008446418872155094097940326766854270023766085701329117680313455433570631144681111315692518125 1028508905789751369332755998443932740054207356734232252741954424460460696077079471105261979263742567824287283810904210661745162878912033203099094225774981423412608078608821334747391095977018293374426093910120761809872959097986521309007375915695809524126 263463688317519817216755616637604509887453267208047878855334540399093138942830237040677839407219909690393094220868660375814784614901641426544381032423673083541898972406263066995019363691006437221696304238879889675801606185278057530375872482176469394400127 68013790756446292341192393029360857460690978572432953657700145363273006356697697394965216322724821998130309914328072645245682456522573093256130200676724410790483297446992139716940679009440534202642213740086561409353574248128813481877279001491744133852875128 17693389607231671519548468500113555649625575711545863274598717789300479632410355099859465969110336908498087805945481470077535749924863898906739358018160068763133987044383534109204348230644345816170035082698923788513389688332262699967504367831119886565971125129 46380740225873205031411782597129144452698266121794967192989806621264433338667584130711472278279794133955329731807187703048495607331908548259667477957542843681216042913233819031171085323966811965565233475491261618648365241023988191940962977016208325157004324323200130 1225044857048140122778080604211840600440309329327289430729350976684750449723790212891011229409292673918141864505650470902194794886518269427361729041740726811822017005363776724773449234278320014862830683739048626911951592758009936990677297421494861287254559963200131 326008904757556707851109986997940007134737587346835482438919133927719502475018709160678724180103691811353650266153853406510070201731852725888673745486314158675996925054162173579765357951368776274957294583868574629787462934576004400781530042657298806285910293198432132 87406941689985143434326027747558284226483252783745556113085650682093329974130098613661285908452899916839973203113905963250469459889577345638607742232566104378382311918655699817012269237194495881834053453576011248417517728573977675089136012030747552813376847990338976133 23608998556929581695559939287599724819109774372357367288408123807873072405580464076673843433750203148782113373671100908530509082117838106950615294328363222042196984955769630392494540729182055011363666133031982354231075052289598159725178071417241820156105402119807124160134 6423931751447126548111907573742026462595832165819762777519443417135431693325808227521833620543438685638245274220221367745650118575740837656710009303840340887283510222954120570628091955246906035265392881440625362981828763771774999827406489784540475082014457558183644958336135 1760730364130324933025478379684580983527909297625244933040764762386587453266203456705626883471215479577086058289380242992582734520665429113777945282651586376066096887605300367852779151978686504868582506876169287357151836029354208871739038889591495181822397279497302538328749136 486105543343483919743635472021179187370521433307282586941520934163425122556545721971910622548669279994663601568692760920973005981486973409903930405412910039015012453454321028447506103144480198498155440987418503286957357887217311070564992729823484628696967658698246058087546995137 135173513676274843286283126265405770487417941412730273920275872689552653202288346403762374610468766995708734545220156342071768699098440781040702067816216535174612869118724589016701016347873561477481951368129600943977394778036987427072944905592387983566239166465293696367613785664138 37857661492654301471484583811137981333974977888599781092689142407719521430019999649992545437581657466261626032970388418141619005063444598295642526556595650959863437351831708641027694166213726077508155721154958171484978198945621230970495267524671868702975247978078340043953801093700139 10678131575674453659374835767177665710864821425495774265524270460963014882795352548495047110386172409052927789879040102186533254424001404173676200487874664704164451481439940594496418568438530142399730516157032185285658806210877110574937663147136303958124538469021069820901394507996390140 3033154354398163124411247411191557694074752475726980531020066426153751431504798773190341147771022046313967712618946736941609457221652629516639455327523177176687122229608237514754428811842517689322198500300860548946463924309148310009309083039690362095574312111031327004972957807426836794141 867621426115510241652729599530812892305338844170851711948254406611000954865217172128206368021393066611951115107143615775668768326295652907211397153916515475640592373006084106651556607161935130440058057330009588711613797614871886677107056940251342111233876074874203912276987076321442408812142 249908819560309178201824355278155287971106812770857059308929196162725849729722054200452010853031985414260765716335073457496302815178672810081052025002447359442349703375133525547384140421928539041372006173462631301465195289950301117096483813275225108344555696234604773584137885498671073456400143 72481602418005344863654930055354784233807093730476756896253254303800614914839771322308952762231521288198127454294305073083669535912999189363828245877573894203166628143639533331073694388965259665805656464547388741428767330724555808954849209830504944207775340575976333243230783008688916744813695144 21166472549401085993860375933838057164650688023415657291847339912323787364106003841643223562060852733806084697066488635391545175581299647051801410917151999240498647361448400541544123750065020438478893930639485729206032693458560049560672232040455167062079819482529926874284464474276331335698657281145 622334062682328844253767748886280043132998143862938376515601422761258228888144336351667330053707641463858535417115806094389345458007858900792436077955111623146720583092501156428493717415810082126617142291299709092938120007294365263184005571766291548525819644944614449910605949525862484698192395175603408146 1842184792356449190306893134232141312862966944967444338615402686966121197450925445374966378050633310622684054107692004839277959659914019960177515254343435641690824503081789627373724693948242493599701320264881912952264283345688043947915910636415299569770088938719739492182020163490753847824368138322184147 548981571314385204539689849373409904076764900577880040709404154520543924337147231600260114376647618290070517553809972831844384938045000221964544009626614106827370407612042555240472593932774962284361144915481193996549563820289030961459262198569591981910390007385402667320127070448305117261781713275276396148 164694071574778651713468556277777549078566383647316486779102446820338618166292525773306847288901696449836637472073367861516013704270074756711730688140614675214299965048193386217738332181484342051920739415653792162410614252266275216417139204283903673614548989891892450614130154648377007073813853907583785620149 49736442916266868869094390595911186857595732117860442449706428629204527197747808617371190784376352994470846055807051570229680958170825811430789500770489866402603046141269536302220813673572854636262813072315940426864864737515751059306416835556915057339464553573919744277256249324903436789593484387656501156952150 15119213810966781110230720170205231634997345822664521658476168613693234896892354309248443786249512585448908451735144393365707287628722036701418151539774879503697194038694793949849080065893866043370131502694945000989232682036544376964284736520775014818222854652105680911545016308540871520678537473758896131080112151 4626183405981734414673005577088027987817186015430364232709936987874795067336738837205664218148655277354914795137589848122278245317543064945360105638140536841945242466062165081603964282988269981577727689956636795183830651365624237065788955536985495549880564259732711798416989975192213286142356292095173165470015585152 1424745498584448878196358167109983663318449537938128502891773017722687888476445458612662753227660061758693087491130389324062957282380736252941596039659460043414582091018890340036329735777063771457953054599838622645411896865881815014663082298798863447834012166387007603329512118504958300691001421626745227562063841855153 441625805458468064959144304687471340820384600719067680023369689805607570999061195811252507394659395038804673695723883433804006531043325239624980482682654806320276126249354308828271056237132987940430127633463244741645948979931756167901564625798764225140177800558914771321884026886482789748023325597554743387488390067600154 137770557556218421022284514478324234043858625059311431362421374662525151446154168119570157410682395461575204289464831838853453455161770044160337883102636577642771883598136878081196476241153087212981071461056261078547690010981748260748306646385774955631265311928224104445420512676029488703540991246824274175491845824375980155 43253928886382583292646387320688352254595070009538931729484911960417321735898786399448527881096919534001239466357922641751182763457041500791170289369651307903602784500305939390498580492518008066335743575701679542918412911537766802361932659207383876694333559240076919698887638017793246293937789487308547864178014787341399570156 1366609544212135111663699805400459871043040535835061514474580136490316902788183670618266284884424663836227780243291003920664086981920449255263060411882992927926671514164103786372642001542081440181751200806687324591682265759239587661121824995546619589246613475696164498266429903573468154375586825468270474688776355121550157 4345060872386830012228003663609491545611132369696800937742912366375976156494910800917737030371271451068275506430232771090061018425762940906905111794628438661865870175290526905936975868327018011788726220042827599415086989157174630465579372732029490426445135727539618593425629646062023233299746684172880170776654308302390904174052158 1390153663055711959844073965151416113544324271087213220942195611105427172109873548935858780030267807272093549922882098913918486114493807147971746423631553993465219757731927126475414180165453133031969434755460525322655347757727963701073837926970983307024357256291952092072053761322888066126525761054608601069051145159210403910648960159 447536527872473569819807166669455237080214533837573351475099869338800014115013147106168531302166436738245864040057976548354731089360892263244596535622708274257565326787787135691167456487927273567365707563680706013470882761794176428996220282245241274405949076938519043454459805686880417763968783136912965622288167830176070326027640435160 144969392363408721003126980595050291343685011747577611491680604739567953414449824076960484789172802810592901716202283747395260544090692743982762861417295914666408005407080162036466478303202172997104299330598989297175744245696838879719377117895863808927711169128124980336151884251591468297076409835336020708224894380255486789059106983437161 47248705626674581153727325916347468191523423534823209097387703740327762257292723365044771347743679086529089442599563016929542811666694486847550319646251182107025278752731884482277476222371489932646643542180334592775405487196442759054355359988167954932916502796419799844947502579211193404638225348989042006655659803334687824760064064769248162 15493626881656310135015370063574453269442080601957368426157708340308351064038370940327068987981098761997451559774790854427045510108986440047081977174471407796125817493899823435544848281301468686148203541443315217410360943340932228339518948178457401072470380898311998072668671854585284143286782247554949201193016715507378867259259998370963280163 51115175883869845878676228805824762685004879575803895495920072160283591620499449079630299061600264538468823205147286081213228582113130419346152163726905792196227622365407507367447997123325155667442804129389662880470061083217206090840310488073738637700523289747291477555625785577783307745214445686330329480051619595557937975892172996942329966001641696541213979389963645648157039754143002004806688643398894883123429867041790986557109493119307621195063558691130894102917521283259610102355111496027279220069606987914092724220763802336394765047554139468867872749500534520885522015664553881735432561791874197098676578302371279303840950993539983074028391785807022009233202483298529606891630467959304165566475517498293553559405191455100757078409998973307072646203486649055612759025400557689777720562200985741653273844946359399955483843567900717256973967508377276695424613802277253156562927290464502538041669486623501083909203137365036649360410481068459949846064605002548104142463677821520577002266944165760386632637913286717357021650142569154962255472166190276266904617831705133603570445164316459589789333777997745919253782622383174332423043886908770524999923689568148291324770328580791698839848023150459136608899253323299182411697658310684471120845752797322536929971601335057228957319400196070262668223446629719254315078152742036400780917184663100980034211903340131964704442174154285658521410671772186528167642923942534613281445841753908075723246214720208791949646672863309368487741743487781316859688356743025802533972702030492407014818161754856161772381903284486345118516689411233741055820257362699639232026273612037302423764140153805092417912944107439150494555883663039356917121196242835277548712773377420036677818061740327249564024469857462566149823571682185199065988762114816879341738815119383167065201848675683173427694564760054867840388194285493637677037638057590714665323313178796012314020698654728281914411181446079055997983203637412725947215494884065893019674507624561968337996904235003986834119859705121745535166505063238746249565272492753303307588243292550422731331826926758693068578361013733958394119516974707456152554762402284027262463787298269959810182149634256911649912376316158326495810373527217069168542173237394121964811244608023371847555684776708971355707661899378540457222150127293981708767069588163652251300191838754149104679245909691794085137202092893960453260551539580320408994787870244615930449284769189411461078632276499000180065915062242459734059841702568997629715403504740380549445039457045929580573602440654487477964731264864582382804899798969531113389043687081269671308968835039498200872974771532558262888878213214280823488350082028551647947306605244648245876912662324043687773772209241038590578272197513594586474707436709005383627625149550613508986647595531184139186052167561864341031675630612571440941698324171888537409296323931244962142173567172396483271954769546482829772604359222836816881369714078514998472741553904836660249136401504638587298328109124215294944387804434232927466705469637365742491479371670306597694343845018293895564092513302041639079293386806807712469117197454545615006066484388868731667621872671746447236241958790485128471129867504670375416044643378238172309090460620973025494805475183436231317327190277442094424724197159506340278658370265544332192760764407812778099756499324649948779498824998903188817145557003238688116365150986735442551273418045829321600628391763385241361733559253661868081593408306635410379328442865765552740950357398542871488203670335789195376236506840996404115490723767264247494270766549663917886434173108138199040505519393391262669530198030565057849178178925570836183372212694436140028448640749728158826839642149455567605267206756082738078484295007162497586330053325832096569845906904360058294490035611778859732430671756208706302803041070430732598381830612464410004943675961865171572846119734200436632794775215743384167670220427523924658982867325891152064740498720662620174380489122130919618770613963461755883591710809600328915044396544473843837619273917519746296132199187586122885596784380187777432678293268241273478499372691727374277103918852401072314429522060985997322563558050378719711914318831992333193760004335641414515664953381070679179081015573495578789898263606970344945900198659611549371742533435238451699322603437521653736200366876641751346359482537777714496390686963155137199870757663829010814557899458288335465520908356958114884573785093289518836533851759918496476572079695609628075977721605466093805425375495639490051260048962192646606229611048442832806398513811494997468129573174905772998799744486053266843492690076383838019933194709147395083398102639242349821621467473143516901118003080867735455735323621511764790951187703059089109103565753559759178204663370060525491532443741554613419505486705021381508430279430868575299331433561591146469833733913263042521399326236925333383356555780800316511620183342709252980066593659446594522865731862762242902208832099844587610214216640963234692942341582987944823552771186862667889472188431288992554541239701741011380910993692619428028991271704025177171439457738734460152403765833342553952868063269997610343996358883842416683522958973223458631532181028620748793281551182315655291716558873187021467857966094263033555005076541130104272088804067126171994316421751271788112213545424040825613972093913267100163092617277059836083404701797287739407368373408785734820555015418878326421548586382670431327811994607576555212308565766063992017861689989970253021519544419221274064777562378894650976170983563092201243550353231130579470321408920843785562468763952494532878812135485868108766732277533857224834687341432938963137985303132527556005845130595609948063114143488585547451496993756470295978900773247765922068849098161437863694046229683831657687075999280576845686285551991292798061918415864570477002334444459125180907420017922321336307031779464319732517834928256984751164684712980516096196313639413092446524026634479839807428301571800427429514776562892040287217950227222621405446186687867285475508000342111536610503728758637817385715371547214263823578635720273064167367973598225945410035743825827734751749929964777734277035655454256056302273201431795601896016137051104763688686923787422483121803073922593050018081210858623837300801152974735042377221218541104970317067571670693824612778633235996306235832391165052623819658297879924272031349361794498795668980631448912933406813337414730270906398442105168499663512777115386587582390039616456259518451941906903313476787983703858305853338903777583657852810225230516925971111784494151709062783600968639416839418405973165483472857911204588548449793786620181297086844300596303337178534838908111827043535339846687139749327726864607649134543011340495502348143219328857175706467499895451433146272623077696044144111031720845611923368713211802681529455197552693204179644941429244404165191674739269155117347867780896019241292012070631828342173844306028008803804097544286702092850122821719149968155828009629736583161221882384994960035829442641821092736056977510583688848689806171844035109996656377886588094192684192951852177636008287026049775972272454202607425327434593927440867306950134195884796812180443247769392462733245307514277912619201040979930785242540447208815705956445347136744159357060362571322438819356250653158945218192116479357700764889291426556730237050960176046699405409763087547934049663195715570496145368367297925052808018340410751526544133074148233182201276899217369249098679824458900418435422657618944400889531920226828297757814677353184386284598852915568040922121387939101327650340393050532067760125627956509668308649771839431005607255432942918443418831110532207304348405242134080776776587936088992053190770549076156068263037838582710851211514569842979511212380918681150014104410950440896247560915176335513104309851841502504505204247573307696437651186740414520280264030645585629312993441123647766704769987863456196626866393422431124466682613284186347467662951194712628117718835100721451287389709945694645817586542133808493840879898928818594272419671062296714016155590172594482496835248511263064188530915950335556749298868229063273144252625556501539719301123642168353416422042940546945205936249973598874500540270487185561641740611339587457745060524870768003576911910021304767311876502767405346994300126128052293547561503099029034511373216020209726798270891300565578182103940541306976073078920937168297551235374980723289588762334099862788861553563326800129759572767915275277028687436117092455100274785292207748584507826362832176861787573692270415494801170613247691910703856663582863295864073193739403066402752485471216186211064588756261106787963281594409868055399810378937097532394842969266711493425786591284710483358683890159817696716139116484281811085594553771196673776869911529074533586912310835482586713473730177218406361313169110392420175324971933836367560325507965274026890036032405579424222472625587269943158051802593244067300453467646984512839170420871560545122645602922818603370061736940201954022201572519686724732187797391456165894549874021804908586550087076573168280886509230050427332055569609693662139960645627856828771220867716900548971019919806891751978485892946637524964835595423673265995787597789160886788077356189322375835265618976722568581123462908809332954858856855600798301581664754002459330424420698781430252098964819648145568984400374656370634662038486587754285163927759154645738738919526383501109061169644581883028418620808100304224392148287980904369483955292487009680467894978880953556996475019404997850446746634397247845021386366798726104021032986838525401510763476005667336520090200970036287847409326426702059401075558982045995390681487191730920224151593790845973611772242414557420218324607823466323797986866328124714110650376131235030340079536904237858120349594264792213359008477653734303141581082073984191718175018911562091876960339265261448180890932829764100317496849216649164048627582971388373583653188155846233941922485933110586342829918387724941061524054287698013840024134063718550067339076118625951899614629623367536048616055220065137071272990727296345377572338168162700475827218972611845703552669627603300525519235095445819694224204040364895536322839751662154445695516669818839635805098566935806414515507824729820835796190443732539420092827860528566827931391897573892726308035824758513514190698276649981005360778406373576335497013831993546490968768034324242000239518431706116919282681349064979435765963801950717795832277936737998110584894110220583417343783314176638493033703168679585400790848106077754288599919918931225213832034117287141072276513043312890429874163139937514560106747710138377973103677187218348420061199545242205041513619117118227243960702897908594867758537641139255033414215618911807219789211436184620000989606263971723009269924704664198255049672867906079305510963588641676223681114749170015550507610955064981349943634582713690516025943456541541829231700527956928888092670064062675728724100032517606755093796694799078081938569432567619427154917777142360382312328492937827657678028731606918992880342251318070371895010847944848904963120911926638001752478475657541419182180655642528308203527920639048020828844393742734674285768081677250188771539649927472322705572012485121388267641474514283614989096553114024549578403188417473071650136519084553234693694219226311599228770439850993071680063821619101521356440327960730393793505893201241451013033306800829678841320583795683427893219091304969051150195258122331095906860584878372617931679268529415921965071328006131932587292548859085023802521463219185441982536189950873688096513289443475611461853958650572061748572157313030123334501861949382132333179440516298420494136849536044090570521081972668255652065939114225212343379591737673995728017389941232089799691906413640481723238899584442455251736856170167729084977764238111132498627495503206717065293318585422821617335554306294831909127789388286377154657959513533397202167738742946320387201941013612512968913244902354240614954623133285822057739245157926158967057486303855385391449959560115767919116070088145539077625996220479567596844813223630055685677622330682636998160475515040833957017424945821381200719297368364864596235991950154809779861613474245604211223795963336086692694251752711006095301481164396209817570477190084149947326725911860053170248064714202853654507588116950330992508141384154044823520706248786881953991217585131239219195288409360625381649066464983136098093157256100811978411374503763165911166349201188483006790413834081704723784156841118566095811808182900740892166227180508134631529497514184894345915581058795660909652631506380923189858744533583885100783555700887797953055908463274395035017197414078899260739045238408500436201090447098471281792489142546710433876962839418578408249274850599683450423398502965201278322998619219615795549524518469723705875481255924633276847826281637715905163054391813723367379077992568072196316910440502519096794335564088299793990115454497101549571048740013688310644931357489587266726613388766117351601175188691142991582060870169562877911390134901689547518267010685116594987524420595382281072931346216374350220482040911733142459709114302446242554155539790411612153857112168401461037048065332778282092460169666112145829086320197628273812538310277492703872094670441787768677994029632836224244668287340370904108475980016350019080887903651342897547877201238807874648824273430894690932513337211855788036594489102958299326260065619045300827499777411378500759050454943536195778744236888781105023136841837759503581148991951810811651372824817834577304859531818906196072100664403835308015195609233164248101218622680434161006557061522210519037397957563823564796939676819825115229946026094732582680606346377733804501136190443039258185515645888294661960952526974096973568735696966904395177404403038448094335642785118019747211448781661947920443634719416792679946416103622623335763021552682797556920952415189285769948614031191976114617523345669611019240504342194177829290133338804695243375673111470274111680850311513842664594378789044552267665552631364297331639508537145388893553481202381857149292612522147201991008993918592910773020636859370792618253311363165449516004647606340185025967593537623812370782470424188608882693594945297677285434763912613978321802752391129006121897037628166680874809819436225029659109473831280715308628323061873689078322385058742204042798834816231542398885317305847064932336877480469262256020293310048162776976257570186749975449259003347247973308118592287522364123836084410597960268021461811707928059220901472078668285200407373187229644279069961736327114831995706083790831117660096340525873861683655376341691020449006687658284037509068957770020216241382837562386509687498945261135602412643834264246997751288566427570399809924258221815409155136985852964643747986799098625385725165429381943264096890013853274628870457568888607887462055160724238964787165956888341461454403707290171006122830530569666911532810075995901890297213062820698699432942432011652868311173131427711977569904533345088520337954275148031403933468724144034865337132617739325726262414126190379586115257579679170494198529297189343041045717510825986734804212183846843715286493345886540679145353541538761483135347975411190627712089326847264160844315632405893372709566611910977031056346108429995020615159384428093336605244660370914882650837535283309544145145539099398642214034679944242151668198772224770411172511842303974873602026739311142381262371503896891985741886144562275592027184836276082836026599034628303498791284395706351369878882964663117545586197371718860916208872593759122840254981392819588135952098149126108273413485842928794667563212632876169402054546107465590586302986103518352383440313418051141565734811915987256415661332637990501803282916330962287119960204035026009638206478376211053459259183637891822421524005906723247225815978272597703458272348340408010020327613014814036795818436733267334471179542857987192994856121624781079527378337581853600836896803847107592444770910470636499268051272821237487284578248562541046205799571890704118468269548394552922176014157769661088502176814522594477905000525554226730088719201960675594735433876642570000214560420951438657224241136388205894649177142897273181990299049467628787901035143011775074033552047500580491394151874396175603714623933586096734839824451908166550204113690174204075889986314939485088778631841861471657886999912868647114952861860076103480954772134783042999565410216453665259613125542931544087094930545795312449200666102779992926668146912314086140993115401304825578957826032139728551944473999069536912149108988813368646520664421858159558979587369283515539095284988358753064874306787831700131087686400260498812947595817153677371312420905717164330326520966311895420865874422075845637641026703363542227302054703624541140360045942619649276867509636783913789430943828446146373251918386768620463636431497351577605090780909727739422272272370477203215629617803123155380439367415879103500162176835899077040498387854633506157084085602431232929466720447182569923621800425248065319363295654004292036532622048217229236285291177404306295586907857899793903303683894400384044758889897019025751235643935589486848056864811747922035286201146191150582904621448314584170296140206195538776030741351451120108769150328753416755935537425241371134007291634486216204278591257303966053137408816415037021699028421208140150508153837370885027721774674823479112914952818538073685000300345278536498333649219744734018947549443179751155886165117561486099935660258635571318238767307369627194794461379266269711991832776149436880192899403991797364537519619111626675983928439910449758120922829975261635069982201785578764201721927577898150367280565409620781679614944521324274889087577751986581285137012568554806977869159227912766797408471628062445062034676899005611954069837220188258046237577593343523967073659653502263460165831907599056675192232506390251026906882238374106998242832880888153148064386161248380059890236336993013637198024686520347428619952684804697185603212590312482325512471856979749620028446000478299769287224629291370308012624967191220588018337780048953320890966955893099468342277995204157639920834281919100631446580702587189882466193484731012553991503376832017365398532670691598980696416032912499783725582226728739370704994946732834525541905247116929232617027502360100177336797232804302281092278781281395829451605347508997900671367903926772371168273510526445640865619623943950362405658751384133546952493975458850527191486888881301716676553424901814864634167641709500898377888494696231673687108053345605775722282513309458055708849975742582874913152049118520914456974928010516099420819702228365341147123714352403462609471078970925095277618358986562056460746205061354491038189830811153545636308292799479330159818734127743557283005804640876842412601175730238783960285127143554998944064753038209388175164124253359475636272295111773849707573178002748331411476423855683501277410744683568705199008382068347804039306334723744558524465932677575412813391381421894742247103124158311783506456264260497881852594069377649707675123188821061254906821485023607376856985761136220080792481321064167901826159928292069993794098052247990107230681735862149989745593590048750803970020068526561804575079813294961641656354007791463118211201170889068519023732417850053887465813958620306104435049626348364589511008637036489260088704185667799995694552360392424646408329085709728445168312510358908644171524491109460182995237404094042469660035393094749732417210384374874793545904644445380634389918173447390793881367848211260762946118373209398354401996889890198919827612044512541621355825076715951735323843315440978502934261787604443899741799899443954149410696897081744985502623079179575542915408232975290435113110756402541615835503258908976409660607351529964747714032692629699326833277433181970792105425250842415502673601552564762302759256988610839330418112566492625759773302425825639197104216742203724981902686265792274151951613335059340437169997666392060480433840522331684331510042428442121115277370002862404764288890887647989279141919563141449019207468845253831997110722077501746584632487372549409288335904946456912438519066241555736487760681815714279327432349735808119445811367896662682488605084931165071537243861745814116213989150863321873290201048478971982539576629930522159157377615721074597433265800289020287528414600623869725823015765175249969527293940672180220683132916198342243545910179610652394827579632303872291506683697598233989122560684663351229221347922832617726999241858329000664165295253490113755433802112355733524447639022247251069326882035484488791128314236351045811530486912599241693010734114917969254435990610436674296532944731570207709647868114871581359810877216558531272223747821525945500499012049426640103271909769864751465546587906730140622511994586934467506516823694847419210861427140717021295860674858817225712571457731703699737612670123863166090175879968939790365191561460152309220935632721433617054002142068784725077259467831008055411203263730159984295826262306388979364566065614995710999014334045499751699492017809642958000305711446028632357465586175170297034454512860545198474662182744047922576044172715086513063550338993985639455639794129806191189877237192615754576212688759919246112558239129716532423454571254176502118128385759333576597291839761587382317337076914357397117311934894407969944882368019798513153936150456462146303208971269024759743014360442874857077469751034352215897205833052218545392088637035756615499567386291741913750195347793442398581618844096435876552805649613975502534370106337315708134897800841162145822156444791793431051937496878801528138605854081419648623030056269910389979469827866227143231390502911272201297285598892551709069206859020754709808133503253159327332093716124847837002908770696871979676259829118386396636287632264095110871615388895886964839530080010548791430661431487343069390321422449796664863156990379545503065481393216390898194246576246746570823826180750244267646523075492305988987938617799183058032704038272644319124723485139519248995594058256082711489983112193124058235465355540734192225342383845632919634616247848581627502542281363860119733349029009082581619629957451691227260312031779826566950455645331817807000645227389225043118610444208767371547146601724315509448334088058479152877048798154138378798279262065906028403546340207766244157000362194072864696789308238935202230557288994823011620335