[147835393117622892817116173463455463898779823369787078916054232718053811401081655871312223095762206864122422270637621126121211295273894526268344472520946656324705867105449705768499211414368643779916849088424061046456236225234088577415823314849557470255624838762832939037649117524318535528916504240626638759611752917200541732417927415921331030978700611856163249787986226909485858861437616111357626168390998941990656850294978719951622523139954958102399453725088107351549998010593568714684762812362818010950681323050317532414739530819069506299878758535010501272187893666075177789543189063932776617402325432677811154589879518491368685475193051453192346855593211028646905333207158154306258493636332710436730943922561063528705732453946918100863188542263481881715970891946340228289834475981252875802439316026426144502044697846536104963344806030355564005328421874545947225312546896154746250135515171290859019221414217282405737630861535278764067588747880506364315589351289535790589867510786317340117709446261742022725919825863346113310285501431911293983609554930392479926369678862677736486405953984072601226005836278505980664180738164272345773115765573710689188266603189135676672593477865187395081011242859751325262582170686430218753674760100427498359921873729740077203924551289194833709785550336906166701237315857098679446512471464645728099571764058324742575859693957703224631672892363944838792895239863318882057666190407408719271771307503613454906356179569563935163296491436591274144047737437416199876875072595285477783186483383232648477533087119123564127442495198865300354328261377817495292740321700763214716246808370351030859549697283809177638781021130424221771215040789536422769734326306991993875682316790139551438241988483298757128147728782829994824166681004675849166570609832671129795823218902297695483769343033775276564793183170909305078964013101329374714658009836592459934852122829704133040832800558657128695087863891337484740400775791593394864705087266175391613659344533986161415142425326012421563625885448130839396151768343150296173110048483221768968667194632817543651082673771643482953109080312046759354105349882041852207593055654643297100279392457625075434485289994723894419547256398539427768986112981246425731028190286732965607540158148680999832212215378716456736170967643121156854985310389903589487390738899390223302807992562216701238110758855784536179540534903918908974795116239123596046713950597539702466200887813552580921165335884214599106281884109027823943568176196798191859301739740457861652071653923291993857066689566545884155815527459089062823784334488986919550503328350457388937242716715016322368685419953476593336903967503794934268193775150319826956195937965765343374064989184846113479237190886377524313392156804185847525346211569576618938170246928594670875762892337715584948550071723321004861175463948854566332872015942861624716641875423379482320136712900024390991902967058073911195307523633671812990034461962542379805533793234332434878493389286047409988880981267014609411238548165088802673886791166438751166962105580482570031573150528069814539410979541510516154853979140008093856644443417924085461097151386519180323604417491431348270229440009080352781423208124185953163794372998698082507865175939912139189772039239169008474456720874536571881122223169913043095298601980799408022223619643206447650643078712233622434467152317777673839602324301367867950727643435840695163874510345547532724195464971393925834621929345118009385143787702321871841056459702897911314517655264756279633896066209347404190513834139398576701574867594332122942382986767731249665176286205161413079825992088341366567416460121048280365091159299936462123322137620156645307311255691814792171265061129108269530846922239903583707331286139101868533962427004215347244958955633355634953853460771156220366973928906308538601521675666456387825555307489122646105140925193944330142562006421933592387585255639830632900782225564777945865206030761012229820177077624745903403427635376936005487689592656004334799954688441496737096510073051691083336607362628025193464577469336321849126316841054146499315452109351883227508902342650798544417017745519665695409554447694512532056322369996737267406710695131222808886576288928139585645855088936215048413623040523595334796909637043515378262168638303534756422816643654352235456772226562989751235243179677672233801741493163241000836404237011076704165862309343436757357755309933463020626506535467250009640788441683235051361715207147475457706601832584255021526833772677703698753888279562880718578150571759730588020298413394893887315425541608150534584005055818572330468501234373817723537231711461674224792141109030103236123065719538379396878838871432782057275238647351555870365676813250937375571153334415690792762646453397624460942078606470192525263942602079512541111564995502567309019755644239690863534294166185187519249341440713123768084703404481840295702824979708824274659012168606842414256002850769377327754107272993180019577819038717486741427379480981494127786296126925666821561430270204415796417124932219907894251631897314510771787544758222809384896097283553702931403817579185006942048942911563696667849964949309370148670463870444567946012179957320869465068470429989536086595258546365838258618349286200845718368916795328100694071320314454178025342393301713170178785462039776951779098955597450936013984639643780734430416168414335358789939532477317792932868758185858034577523534359302695291600069993272585535676764392246191234492596380811972568949853902410681293303051355408401140428256253328150054425323437736611181956374387198848363246648469718963073316239647536499049852156442766530484376061498730831512684164063275572206034919536195814527090508036859012253574571877259459385002794505164346184823844827398088809190512553187697491174569495538471900385583321080644148482218422880544431281727397815931738174819645667385872447605780265110439896442878303436359550198743682858352345063244168581950756379514053661893651854869718070075311378806030432555577292247750050369960236935425506242923962692638319003110250356425812705416618573299320121719617527103274261918926724367752715394903140204130163805639065479698357372868019157369513991545590558250957622451860000272401916973325345702954808329135214498012644518668235389626960169903546266786654857607326373194199769430202978279686620516397751958687407813587751651833384801965926348424343050438574187169759475805075614055747484856205813080437280588678035325005814959378883657675570950484671850039653655480630124989049947689703577308747434436801169423815296764525152051876454919915565696414560188150319025784041287833062664578500168402103707367281574349955014055945738209261741106570316537473360995453521906819448149465839589316912001375585982241015763033138077649794640697857024600537741946921886707293134052949365655396520793744510710103719436015407699695521654403694523799067110993611646291608340559032083957223846649078862650711202258758080130399597984705383874805979836503064759876282571093044337262413823972647933820984255045049224850265829107933897155411097103903642276164826679375481683311801402285620552909929785880702215146706304475527623134577224199943504072536020225014368098240990588879565670268066833275992209147269536298218377174523848944189007264710041857648542923091970771838296063034176225642525094104205042459568902445325385351450527616987180517729934710199866669753108507336144950887669412805873911143046937056086666956722749397174650804238762192585931988351911178854526263705177966991573240927443255284957204478825246655437739279678852374797927157732810258646147505624860886511441220181061835139092131317712193011815534197834837195536184889662113226690517264140360917210985047664848886167473279144207693286052077379989727293729303207127931549506008419177498112835353073712357235758254521442416417712641404071657324460953593026114500210851993093744509518412668267507874553901749694456636234929002686346337976052141430718732952740948366929906996331327110315000413713387346669829021934689225160261321781735289531787515845885906864667662711314043865830504400380791940194714258741456689535693724877459279106903544963469167662638840450468177860371236900622791650027881150262754661778701651598499600882850497915846443058298185326144380258484106362533935678648202280647161276660478261009094713207472313186371041753018023044527284081351286951433149219687481040768237755006370487023079284936701655219174067191713406140558725999871630172353420066863502873171359239736424035518139593404344014852799080730420773865198512147509079638287285910875125431092238634764480566315285211648940575456751159419461574086537173003612233322373964195296975068552641145048509262637424347002715904566808148485930731920751124510481202343364178120390154198652709732426924202622651160219577189619448509414614936209483139964121026106691947804225393395636027618462123057801657788607521853487910529513738743288242579658447062392189314392630591017282370584031170342561325665267533312889552125257074594602119986093504871183773770119290837147386729574817371961993345834078320843745363048195402485613382293158417382739813142773063914113038028550095236013513768906100484316807214245358590203303031950635716572496740284225352928273820406481562795249701416116530496640642968750652198336684114398144615195000347726240739683118042171451122748361288871739142644888469642134166719558203958265340351254592597826570963653941404533435501596362955532187727158680092909249207276810304891426317502996114644555763234682200940510548309867198718757891682444454918335086680068629121553547113137340485742096289756199809783222594301287082005451344359534564613391175971247433510249680304513445291418950615483603581321246615193790789796323149604118797338711755210744625369817967247195637060049127099170052179630927468085580863699872094321735746110633984845218053547558434616782656968245377387547279813233056959319217644347897768866387422358025045920076257400087926969781666485745639489388827700441774848273101019325992798063746516202410568088108548494212090599586499792328421448033684245493343715017279170100653808415615658571469701541863589398377817922037954220503644005555009550081677411646145404051821047652414303056824439079520777216235047350141124992165075348140060450030884511530781686060403036418733518395426475485375345537457125212213212215079697580059462954115348816867929308637209647205686697019309802056156911730174153219066927050663287440335904068732259134663439378811972583931341686213461791896671814004872051925497156731846048626535138057263600138963232444375971574848007882259426973908372027076655538273336172422554909217945809968616742668767805969903348176485276677612852192191188280215331840763671805741911504349001376439064642247702027829814685904310671827146962142011057590125481585294694265029787184125900236118872227316794742744626173264833834048422088119505409918753870858113927565297255692816677229783014771014662519443864762192055264769135807728328551131512620727727374956897142046776388695583642899941973294510498570444695918323123115206373022314041544381214937946381340290894878547946254690484197609249570928876927794337163783557679091866146357083622649807756241846579591023455000497652768556576268849580402699631535317034446502536854673237723830081783121739016465869446484961986565194916949441673209025714469014966407462154853512199498791885113610571324418264588124882287731025788020778266729887060018237034039088435594104308594570439929869995715260885797908921002651096311737356142989599173659617307731177956364493007059575123722747071690976012513106822403300811907159167210301057462523194553092819172301011297034726530733966810958177941172062818792766213642881031684029666490925044523692154056310556450154449296158741816652434813875810291121441770857275318787527793995846164495603008837570657903114973746980875730368539875210668868200660375195640650235240016254755770829275249562732633000698437561387347521930207732919326275197406866443700516069704654116256826092685297645216997846089111994374856208473314383721108546086952928403419911665913579053942669187718085681773411951792662828006203163154828704232564737901469387341668142744913211346922893276956783219185869588238442828266898890262825503614445728004680058993700722981275719011928697447292565971500861563589217960880654877125599663947381174691451046586854197222448755950133602325235430066287509155876583230225385070350444648316225469623239594985034222005808509609924106230307219924662295622698075408522563354440441570958030903339905938254633792050214951531037240656355843744131268720918760695872867121817605485194106929678291329202116184032414198074902266692048798919255878159342952949057091950788514802413337339337230163975152397084911854872646199557877616026981596160200453477195039109915033509194109959036816960586072657691774915655188488666423775674418451015496783679801658344774996434391874888072917675514457799376626618334831008266034527447035716429246968469262396532323781294308953914858712286974606832525295241766303741024186983349602431035898901854710087134197687659717444554090467936127606851527397100771074126119789647919510809417794466184651059985603695416436303911184426100052816628337865622872152188078183370432256422358902187451295540640495917505470518430647698956781572223127625811990717248279901511959592036111222196936729768175548831351059968529818517884447571163301805197359406915075243013542040858217464035769507737505815203287276098389548452044644359451306227751977210341214737164988485111036299351364924726193656480116457776109988665348542613653305423564428770760798535054468508630884484157035299934237777803464829535842700506069208579618860199724127608134571520628502690476093664887779844697269245430993273411652041748616392871085501589215959811733769679215883278990021934823882452859249792134446710183060085306778168077062071783637642607680424358892739538198345922553530380408671680634605556161525004947372874299693716027784078994802041341054168672961865237867569356456743023170578937383141329490183753532299953406659695038850853412629364221367628162551404651899416295131957654339463784424942100110463758005423406466224082313574574756440594857578191811938154672088966530759738557182833878089312088565150936061871058614851473638332082304622815592608018929108154613409702740447055756493091701524967062656300312064668627030619666465135541100167889817524632638989555328603391043968763904298598492846910462228555179390989079517108250641967878254315287841878630226852933930311767897949434446184649292079186186258018089716587630612543513717760011068822486478310643696492916536820040492893202569128289123311057457881327621030844151534932568057235809972557705370988945446833608826454808182983971770118075919277096830040457694953128707350313366184097890482235531288948848808663550117677623757179678403559822800298691197371551274626682952892585772571472125672524495374930725875840472812702482762972333531614218870472553136855752203259601023875057158574560227612097248798132434934584286416213884469165318603397981508633403432126303316431611281257280851927859391097536063374157173723335357910642834196479414701925663532330188789089759042295151966288045177317783036228355182279954905169653616279631271813233627833803464331279575839085056808699904121364019737338023639489142132383765054500902256974817269830542386314636711792637333867321353059818071380410286878786450360016877092108220292862556535773018694771325697764023064678882316070445167684629534495249209124952984383314733146083857463302979152578456978135585734472078061870460837189831537037120891938197796939467427803341741617747494256052263224783877564636557208106409190279925930660165185766761101603307044895580752710299495111970539568185105624969964324865742617106192744522776254553229280662214316144052199025191312859086299246699829421135928442213555090561912629024569938270563829565981857342638281822460595505814081723226550613193141358892670508575488471101687204326097491071766209553921254399105340128571951832973959917831005340883736747147350466573025429351292525736014272452015063285381088622499376154476232150312220226581613713947031640025174821457079558061956979720381322815911024836912287455490662139564002075457119043346958148360482278926856877690578804669268110609523786780136626077531823403305836965408042625100245712328606187012883870198075962512199897988694967336133590026127758370218657990741221876602837456865102288551585051183585157559715315198890087499802499930146631888305302275676976275035274141108433264839048405522529554317127200643686767796802003188853135139876819100619273452526340360539589170200215077092511596537820789181853830509044772879815233027986581490528902545847451022067511462412116669923545674934649694847812726553230309321204542201943871321632225199952991266217166253620165969477421899817847266793458330957222979247050940769951796324756730743235874886593174772497952235234716189145125153555492347254287967597179443497705921185230800631542671291554481090919294198867804223130049563322590955710264296848474228671936244873714704824251369713287361432635642942853972263963253625373810392698765793157086071820106246186093643177468638422389850321139701184244018075544782563339975451747104407894040326720993789834580141070317758547249566574395576371626635937653836884186706414844257862196570859151766634940379042586278596091507784008865080147209896563557293016995248753770951394279320845957052614853831654118815813003782004459691960273194562851414102530976612184170279977228589606290841121992573800615284173651801459692848697417126338120339831185620797029318821425430637843087135139718054051313425464413567259245476154396926686638696641073041990870537371196920962719206897683854688683528862399463543857542966421562578448693425612843157858073106834787161541718047917483087271024928734070810583486912458625843129104989303423857961535991036958034922404499610119623566301765094383040346423472419837534081293309964875305887992920493975534782285971992332210014585654629317488731428788778816148185660171861229451010550058293669088082296434680093278649690795563705070412529003462356947849799459606336873832275664726411853892594117517630290828715752411204152016109330678268921563564393758631015173991425225209664081070055978432734173948250624228707311736223902007629039640050779786912227879331642315017817497277881263690393683634011344319736566437486086348943838950858421894441567007985420907999084452294944866074453378592387237028968642012584850293565705056376278164379901801810006578711747034277644220619301110273310150246696258066228506464328067463835053225910223966366545241558173322941598648088128394333783740168965275451535858819233121019739540907755181944961786458057620688276137905578465727850581393655341703162317885565890543545177740782456278127679093681408462169036664598799 : 506723808936481226180730617595982385813942956782536093363260350998131637059845572084733442130701548272428692474350068806864519774488551889298089935227828123215760494825056944876755932228415983948344606605365923150999427601776209773252549801065980555333438835176334649470003070449601833027084024061848391436488623896651620526058774905593119467863664816518175930425470779348327570050934143802123526141625114429047543948901552386742765242328067373156663185170968445129340080183302706027050758624077982749957826642479084775356970257722285428152031996402596695552090578689755167234895534935456596009469896789486933280579271164245511373837654984751648341420482909515763656223181715102370433327193478471177410647702237889459048315098607808392110058288715369886790223363632156570481235935085519301877124918929897139752193849424721995879958533519340364439391132156233863324324326883086260882463046150610024618929385213880429143808681160421326270801318460412863132678996079985516659930415628778718935177787929976814530217463831254948689213257966506492819705301434975660428644871797230484485338351714792546998745166990718812794809524058103476198013692891112691726023786192654820778977229109510627491309929050565563790103535408168749185503336882191050769185721683700665533043556177544601364436435378587811403575271370610593209487261201717572166994557599574719949916615598286426273137110296893722325106415243393305892808826265994530715854064101482388761590901011535119630196301435930266170921005350100600156347533158551295964532406823109902272427497471515841159324495284382902867031225204777527230701307114924297007390001726355323750477759584829213462960038225121887055205977016254695456600010417450916741067683298072004334989948587478393303518196377431789130429596177868094847026871090904671715268922182646116673229013015342509703476663999066875656256462501030998187436911301265479711720532596232673714801739090050720369283102481136380654162877934624946000747652042993115185458162508138211523114853358636583647659546356852067410781188934186393126005928960874450507886775934806968806562628315240829888076104725986300400298245433467496417942472248677571678325117364719867285688118157590669506225172472667132790234646603289581866062769740257270606733971750619324441928741408170840255038979405798476994985392519043243770223112134065647078554271890851610018781841449241866324023570508045105441731511670246522215329969133721995626442893362635951940734790177784303309618185667899294021786171561430193127591379009324779183584515274164485268975868731166869528672455280633171755348110969343419466132334780142294727982433979168702982130764913653417768000239973271757630465105172515806930045021853772722483405852587079527132549385137506465119976794405161863733225627379602167206365326791482058847778160874178220077338344077181779263480504530870512165366470600028747064821207580956997332305522127460070368260652301088402508494129117047486146662457079364738445349828623865065621460324113731639864270517685476572852255243408417546113867000527456439569925453070131291403766955633693744580050190617218248604900574525825964969248178129864520226610464405672470570348290865827332949198010627275245467116103362602978430500244367225028194197703968823756210689592252579110367592535063531211274644162013469374310088811123508617457637454004116774066847887561475688778195155544467314445483415260899302718156285082692481018519741222005787613872661123385459498049883318734273888468907598773573789853037417551263942825032687590948311165292496927626007551261702166041208641973901623804322162921859734162645192323840023077283576447978907111523385979826231252219593636041261934913430978981444115378860653988148192799586558992447076199026670995057641246068109195665828365040709210367021045845611929792425296958569573074363914313147380258927935485289820724453256110310599681152527829380722790278803637530567072268385236745894294397656247733639932811881158927774112974625832032683251348009139197864641005557626572967825410324814520138998313011899296414653852435499366771909175380190734669485525612678304948873635304118052995999226607470213683274110250560293718661671510542096431940071660190941696846944622214579279168244726427501393892048192430423588003793038373680144582542656938382036976225668796208869334442782929368363489638836312637474622753287835825297120141895372282219550416971016687083930329376355747467178057052805609598434226715365236744113754027934472978410739932348311319553606541872920511355857201624258178118980795836713108024241704816111543605259955319063277222512315789382408531523716827656063389312429349737143199325395673486759895181955494565181174818239839911024683269978223632173423040459419160461545578127490798439998298515898930807686673637402392580961071346048509508407065847982245718164785039602713667103345189094865828913267414614037986425529872037576919533762398750472813338579969104806687068454759006206116902457789928199711029546768476678182020637068937043650193732291717567372233255151510733000293095705535001643819116870784847918666211466789599901521158696887079455714095223024959805008881580550881629812403495561063835255029617074714831063839471851467498767348563325971927570650405726595987514337178985820381532700590610003555954599241109070325254328946599082401978352724383030238972260277117200303528236074658740899372143028013240366873900688838576693003081090120207118411160931545871340256155251237173112952769672512687335673818202737427147210170929375002095560164819189447654901822992492180619815732387937894211889108479523384964413789243295578909021950253641449074700977445282075068528033064751928806559632075057653988843794141740945997316034158615569026538069604419836287947334934013746045809160592216635729925442185589492833231436228537378562842168076992255302655019004004601358648455932082873853113735712123584763324965629926352361270666492023152444650988753793174810657032134407033650939213856955011299992545495360916987067855782418752610254609494381543407931658467681302681129063467428999152999312382361039455221542451573973910918990511996554361517844915835580173281532118326655450740479626762893638389281967682001721575167603598410843496265828929730866889267715411159178725734297171869257512797187809100384373344104848691015518979834044998743525052696086179287538311500756733230716236178046492376112328759961492640473982525445125589291217926798017009570947573458900669661489839899042297337283095782187935458791037353613266357314870077050157174431339394066525553863370574011572299927990805885679995984603166276342020570989473023853202150440957157426700309118971060308291739227270647232307171384918998421871121615859581996469717831270290809957058764642391231134250406727252379959292034449829936498455762735152405474129400146020756473694306255265379674077510887704361436389394874424405817444685838368772014585355565271984902147464580398647420618026481417249095197614966290244819436864562203251322343589232756703748267382794796778102705774155301116296143142286513914970781941917904422546101764559039853761993399137255353700069058301783820276118070541404022968698959468267119872579708010634590031808002654226519073603364328810575625209361674898899949718804033367751497861402453169447477025951129900814078657309530059009166587327155674265734462110499952084792833289088899797883119379153453245359410545430168373546090261088633579143922056702032793455155678006144165748863260227246269403870513617539905926579081584011993321604053339957275443719024798461895598693792860263250408813527068543969629234306531837765744545301060679338850762933482259477022786600932870391592306918149937352064804227388335206424595025303007699728785099440396385186760866705813267498623642591859206002844990888017226666767818466370558208485631141528971337689977523886029223591233780083453717779033908617494044433520572292818038795827267155390385891852300641775421313680416533727920637831016344580436202076589064938111212401322038254858198535932015197307070020074893748481375259339786692410684043822944101233517652490332189135654462516108776032321295775806799364377229403717638190310621030121077816417496395068526613796949454465329025975292311490636651693557689122424744914767165818696570253543019994512620522769564568360579966033319153102432381117544303948602689451772746829420655627908710946135256469983205868942508697644326266757709783033968150083188800707196319893002516420734535763227847481249702027260562751956001292069172695537429093344461373821452843203283215194558999316774840157721965888069390893066233997777022349813892985101997835711658329153361152026695516928740966719826778931374947433552086500578614924550162285306602902255228818272629392635534081073818412004103297376406579992331856509054134172221448382889955439085560811827717336939492662296184410864469229438101390377742845744095726515069304682332331701376508357321232454083078016809449920730622056378635102739003516013034476507621366136519647908302739637359945788131196158787429269766484091672554253995417661450953509525079389277318473699514564214465205964684608342818252015389765118845311995815616677134894216899329741691132730637547685003329385188245572064861492084724245334464147587453044874301720477225164634522075191441362331675957987979353785994683882462425092841300191121531177593220348078803048031420960888383654847325786225424779857847729491673591559758647715438535828343339954943717474563858339265346621085021392535086423215424676625294799379327670534140411880649146545781999488174156734987277876586411504097930473549511058041979156218702182956181492632949256941639469097120368838320556690800808682115636115235301548469053231036939349872229807253846710045640293823137929969473669516853880781416495284592545737487041605556709444326523249046677305386852939500857389909922981793740587313839553671128848428489248758343541592498881499181180618206888248996770799358245672422365457205904048748491043193885901750167085238280244912607997060777500021072893463240048270280319038024082239547790470081933308319330168046521072306495783266577961379577791372713985159842167639863895801291221962408044054389874427242301148749369557178197676598049384449885333333923949848749795781962626522100713131066124191513088366825902882726965671114382804845250164927360091742380541962662919373510022039504204890336376975416171400654870030465371521637613023825404346575370975955095776251423244618081304296137545452229717134706594448598165290396356716169981410463868177239908759510078700462900687463704266627479074356522211777153146870720471045183081548882649435067730206200225923881872961015104923685166037967960381820418161369319306647294279297083134144770096708186246400244771517292977302004118008527860168590365516283231316908152042839517152034846418983985540864471724637968178781619599637068009189692933452711053452518553463746386338045761811873983128736335174203527736946517773837983479390919047250774648829884645498835542110223957227066516982252092887488556836447723203577741897353068796101631576048513424276379475701976363999669632746438566742402753392012887653009922535003583146193190912532012865730309817030472548754802630781879021925481690906885040315461371870995019479722085471511134152701023019538431592569353324582053451772108739207144773332347727852545529245793516050720937479352620942604027567812563518356622142563581088189279732974390895154863774230984000018790903188689320622227252759949184019799662781020009683054470350299397224005533390922896983884431600457119271701641572316243866936516457246192967130130003413615095408733756972310900092473036134086887092915384508093048167684451629625190496365738183973966101897596093947995683597047914329227317447166615266113183047069987090684587469381702145023332257581525873493147294183147062805509001491046269768120828781894924563303981234268836530152161640044098276665946516075780561045681204808056751261029604735659451330106465533207999500561782203761262985960994035165655117451673486948841698597929886579454386907019684128335446249640251689570399373802079118058932248329988405787196793036585467240749770851345737542799138031743317349468534425897152154411012776370435529497463260499721532905630896588040816688248211666950791238603557344438154826917249290458818540676921214196209992882816728077567638482204819976652839612753927708518177780619747609449820523364855043395875464694220377471310861975828370848348129297536697788286383049970948038787067553633741446465040607858245904912212750706411728208839557700424760785587330373083786878270206473065916724159213108717101765786851369293697676386959017700619967476831104135230630000622741160032133728377057671628597192175576933974874721542384296746580937758622581645044563383297051061439178845630894295625891273299109159724082194130623111020372524968224447120710744362176241865863233363373681962704863697436247999816180550958818360156787832817602628089384125062111633440139847604898319935961701161166609447553819383435697051838504250683841174627607356436301352086025314597618343606170587848994571390940998281066363688023775989599494776950599139234695820878551408882660099729887431709997028811968989555434702172571182408798688264220668587192288405842020660181968873577809829481106777139487534146314309742752179475062879655703663967276940912193034527996880347324193500588693779281265531758182648035277739976507009363865761563471631222812615566221139683167886379566197588424897601032870244863381486289733313263257960458119485641877157187621083660456144935192783375616909998035045289192090412263766653452798529537714298465685067137005244001510125912278670528025478769282207096608406428621359010327495402115804195472731559366574164612797821079192345634600495945046754414912703115578052692095037008565100303434921046479377597548439290380539846770080335372801469048232284606169294875588565927378444037017758707623694239252882874371001520910249062889455881851573409697194046117442911504954659205767032926110023450685408180761702219790727571529592368594604183281835478581445169106627810197490397448691529794456921661132893944344208982915635303185445714212656238159043660120634373821491073229196766183481205659186862822157797971854154884846679425842431410422858442338799272774213590840210809311207511450888912104358816675909056830797635305977732628111399187909295060666351155027006533183833275508277827139199972382720544761404771426588161705082226707546938257606120919967768478399722830462463712463662522933246722000009012227113471815349039345618717432265761918925139747098762396977781117705934510181097056518328879850164233119039380225683609861464191610173175784939625161924342296066207516323951867787812296516262231404333894519132479674075875396589095954811599499994245090931857397581508352754578791927976150326327054843266831299149469191263818590469877499360337411596548834921072693773257020701849127548244418145949986689174342665873239219290760759208393203400929343047910819638968605558892211359111246447208361458594845894383794530723735365751710275804029546620932735800163249814226097431275830283097224683633598909723486806950208871359412526322486718149748780842245330869779273017423744187889335722938784930481569320389038459227692652607343979222889650965986066764971897117967772430419737894727302924671324891141817220147639044657357736986247401506315484689465374919710557391190429207085125690704461348560497855061000963690414305766300385402455310615173553011812455339582504897160955676524608649564581590628800073885138989199778719788565628664587127821636680199032542555314429963886803983124233218006861911612565710184918576485055692142817898420861897005832675080934478772236203316174078149213143912577506433074374357162256262870492869180869566301058313985949900839379111986061178887892813305216602266916308010380264142223680607455045267052292012199893406347926125249381891250645975703842085831233765203754533594288902717852382868387225813617775579767117628442491774209995375934053056456781139224024935782667725681974665323420544474015215407432820995400620511123627978793849894288132762343423950231059076156402655825144117678021205218843682960352183559590993189556081473723603990757404795235500252730511150397137855234463735339239847243564074523594846132542818544794647954201845293515375143925248237311448013822207708047458120918332574622057656271695580342850427056826509240588853760460444057100819031628739962590628757528793436267865557624678999011346973516963008295597159184351391214710678375954577817332290088140146373778067116515742859435642479320221108968544162785589803714724807800345745251849649471085341647279851161845108480784840095865198817974069395617178601929329840692253960804540679603101939846824887051682055499930447293662407052403004176726511667518648862629046880774582861608938278015588609805776203015380061153722104215623213004218515034087933786095214406679241376702055882000588601018031474400391856484226459564124022424937243110263242276014324076627317517632329614305202457446969953038326080660565146966001048389970922242908389140367526083814741566862287248979027882464309055469090756787970530055648962217285332843210054382252160667092364391561726861745354070619952259229723982009327330947985788391081367199414273361232428155839289651659657154504914369226123677292215147651552728080322386388256207495868369678128408204868415278089321305565960603315085054236351353560756147595891802762427227230656495208165205688306313556273528467027312223048418006385095156147623048968504155766203333543105250905785895695412215806004342740560670646665814165896916379105161754976973711430007349348876954836482476134238247035824371184103419004468900761004955623642295660824377679247992959349193011095085023289170873237632956888301442209576394405602975728955175550978731238139750301136689920713552463582458016650040927588570213313751839787134368345459054445471704687926469009554442914239973264890407597739648516889239504364151860924011244371870428865083129803321824697448147008249639155749765765325684661033094846766728472896116684110563475262999609075177306773294130239446992069574104629863083752857804842913833187646273129169676308551432839112335222464463765129273552689986508780198619867552027031811184936076139401047968220535601692782280453050601272644717400286922127232699269738849176523637077830698013057374588767664353077829924567640242701738286507221978310606497332487085918178337030376350974489121719283581733055997370411602394150936556317518848071566190133219609185220127864363376999296863395526866167410500094455371963817019841347701579363928874330328258660827763886740629623363600422639760822711388674767914330751689933753509613436745196739791156493834632170576540028728991301385822511158303253669552940449155774900929238420241537910417562767174698901588023375728850696895347955791256964626491785057304725302834568216739965161563691067236379123941 : 175419426912459920152495422198314222861292208350213625278137773030921776001852373995157621172249536796493238965764127881622076449624477086442336420774342190355119948553363473216805718569019667602583532446636794786148999449591967028964466760960816318673784543356414763102651988031383065856685169741797424753763279550717637031124967971289901228180894617324521833922889923188162090136043170572400610468918851640513626643925887315667107137408998959066432187048778411243858781591213303422779557663350119058611232146362075989228481725926598496225039840012883749455721221108803325826752195819711131526828567532388415614631364745005351729279808439755101778731553814576911174397302032628768684841414983687438364662848124487243100165545863430577708377773432518877914579387299953217347697346005287782246683059764991230846772527224615520819005734268790790041390342950419125346089036714117717703460256103878373928189302990952373062793424099380497796038921492909225024189012806309988973278242132835326266509866453574071226761481628148912931750563125789096317346306652595978220098070684996564286963668239097638180859414357422168598580521686397070699983917963019607832518612789099523709503856368335233457242303777264328176918777754361884014303634639851716029653076251967326575847927557642006889187176960030010568831104194588830442423459547414752574722673721945616061554546813408789473516893410870367733623371662639284909741154084409618162789038806098845483944056126361631340181890257721415170831443880160983440406561646079643672378988279567170040961813222135351241598138633682477870311565643102102145543858715639541496045043934733887370528887690857451440114361598431109915953937455582210688672283922194983914675693153781050118392139064348837288274025518776854874458144311715706536921877448107178868382139461069160786929551530213305365710343704097971243352182771289484108659447496194888059362964199508784459404561941371122341602364622274805972338867768070956073302408411554542632288994418206322951042571580013619884245646962039955899609961446902556456376762681302930513667417536234848088382692143264740505602527196819293220215040201904497128554758159197586324167431228028590687459528479993983156598141697865526312368901514759164971025402050861909972587671477065816585008146600740095962498696006871641261013117794077060165938526339049725103440756577173959202399409155496273436040580990262568786717721385390505686990450385638404391174329569826938128148377647543114861957165894805283350164287357011555215222387899783426365186474657644840542442715331618526938167582739764499238581419798836975484596440562711129333374191106721563854192052591333950094769879757377975570171683038482799550990875608505353327274862359226509476033303817359064789220222232321884078460048901749008869641728005847266485445510515103821916616778815432815992781507207869187923933076222090314233261499301485992377458044490637982293967248016393101523124915107524807002688494234160036561949336243236491572558817686575609703041237465377692655184899105373719164399852797720214738933008004711898514911104745670890566685655273267415456774602864646316969109541192639381814478238290238747137440918530356144434507649867370093681066295460943048897058225343858653155914802211413974510337933353183094163578802978890836380205228534913389052550346340328004485090864236009860175127054686740703691505653374874894051255075705925636142757126276462627177986771039765618222570083889404193551725045530310666760977794754222733869809766279179286258677152426801452820748608826296130328646785473746490467891500432312610091690834974016584953952549137422070923751524921554795582146884157282253345643149149915878690920946490508474832085515060730906100181097624048073188676971176593299256455661687318735700266726048971192277925630620095375796240701151743722801378629627998915446553460702867167254458692955729561734971618131488179820877197489457673711021454350954986880663320601329431906663742328182105934572021809616380714398214548859869521738620926630528809117280851771529496867372557844765490733842937963178751726316797068141417638304626781291247448398467013476362758401708531819686221519956407708327493874838408512981071062327304352970092587348495097806258848509103757912477055953447282973663694230768094072479593718492234272154851953255381816220791794885061101272800934652353405889892755751424281497409694167191093807256501356063299832007767063543006076005615096273650041935656825728019711029979611507210681084688469574539191801415222511003417591870138542738507339016841703546457876968703530695708133699150142151528304946578574565225757260566748171654174819197940515308872757014200631288170509118257333460414029415014809752887153133250414435831173000595507474197415423308817012857564753288296377706394971499292494490010281345129345421755236159935182540408805267035331785419741900976490387545331848577138781416432731404405516081541069118932965130137553747509919043708763725928063706355568628567821648721751817016438771421745784098456635841085712440740917562217505822834524429510648496597709257394971261453682416031560360246118396447206172173425352987006276527619221800315385733876682427650864318922176173817642371615874089574828878110521048304801501750555378441248953933142791339593884265421315961154896085213877308751253958184749433817669383793433782380700379914959860096211236605039758221361240853187190683745774501940607979686181711137061504460923652370835451050469112950684397525951453416493193298908113750970460893445074315190239533916309495362370748896556124216060580942125680614801110473705730094162185697081143702549909995938706826351073819335704822837583189165598837922528133975951490849891345653324161800472799416351154729321830296386994320489798325831465555432366514649818873804716921981216101823160276960387369791531419698679041951447738771470657812421716977000011606179523119149245149186474291821030577851176178523377665294870758965299915992530618737495029480027579060636766953741703157957131932758496009707066722847919460479870363961904074350778799746178417735507773331957687676494307808299527640246904136790357831298398580197526314952516406385192036879493563263172837875468320709446706565924368947680989890917988828792331997720329621408581675104197770527987939021139759755708255972510465077556834431708216799242818873765987827326417492459351339334563887562421997953724119020872870673219157986517803137142254585587798380968278803728006906150301047778647514577898148431109426433741111171107054942123733641536637235509604156339787131473943825707793938922689618805962086445752618336684504287837990400066935089023681628856494469721823477080820564382576450970139697979030016989409494412731443524635031750309377100317763084294211106341122626737263637310492103229104292797619341650818749482674216758790345976264668939459645316138581172271823621670519526483488859980025295665367186486617663809394899911483481868879761216967187405076351768790166554371224296858026456382842707119645765112270292334208229613264260847853902070653057224109985338022712631506152238665947336235136761163504582627614863839784385620070926835960272206089554757011269917466983927145768695620477411659313390109397842130459821662220248339626568299635081364023334469393949154128680984484041472463625207644856494948625206974659809448764518008627579465017182065857033392164194210459135959261289485424242549548749952837123742135844990434395059847718996947638884505456510733255757755497951707672151197800337443174576049602020691428448702060083807612766583261896770249481331227192062799947404354242481979098239294778057979145956309867520984462623992192557601481759141060507587916499803700077758037777706635077912674198972487214101709274421795883745536278580428904739440774140854253417466010763104725268503626808412309734115179397212866420497867694070442496701943675407210747014757476054393373699674438149328173747120078613105400287996965867462962167646549165681214282893383897933663919724317799626703242489604928542057061001706922066986547732336822348348998682165510123492223820934211585444872880558297405066656861759903454714541087238537077273432994928005967054475836383979624050803232184567872252556006848581491298835336414477995403664303335607970921338139468768263607314829788946485600139107417440450566506234680306428570892933164468092045016950789207129216824965537929049713319791828325018533670446864503731789408798196104380139557666093685557916968421773645319192448947009815805132316177082415962247788956396343697722483426705262630442935846388007213612140145533560281755318243276146980386034237640454458194356882243678895018991176211600165773499941811669814310809790755214085132158821912234899889254879426892237494063035401709971186047575566576786943012272684351225104347746468816688966349033566908019582673270151803518331208615308123071916323768494584144784271095661949830429242672037633669854975703091739459670547693323922992246079433798564559648240790332993246916022854871936673522725408292317348748777037370669860732907093073442207588745284833090585346263889663367473389094787263884513263840950411763504873752365728703465872574107475327661374433160941511578621004137384089602279504154926475512162740671281502873502855052009806672302590189419139221445567526803344425714478437311175021787625686952374758561095740811824412524947066192834426349035787039973456789215401564524990767731478785229894990512147262059438594574231686954653995620375826697816763140669374298919586975578193315237394618842851777099230582312031389207291508647420551416889877216235263432292686942756909945080755086597997424582657786181867974515276110699794064229923688208049655846582116489494225369980430931807900099979126667596429112229375538974860574776000077706141815635169987592499705516334149602627120985380803382998735948144512726820750397117718648016399474276438529276740517287486177792243485834467661952118808055842581248991724199454205587121748076130168046913690670680002916072692887636626720460214226584905688963432881515302372910691666464359047699145167371327617537629454482299941853304852306832864394660311120088085153904368219240926593895684949619469160805218819270380916997976695722469576205039296650697910845810754955688318825039092618651821699721609271826287648102199622582341750488431416168361115438793581115170683709887920717893219591178624948498428156400285358354559936394738943900805613822565565080204623031746852285516459398252752325297141679652557786067313526116911979233657797646904424639767590305787453713409950486800117507628410729113781874307428767076048556681955384856455978043229289298484082533998996725014996206103464535563673529231679940165455053914932745775231655071707568118076628308712471899590437284697201039435023334888464854497364872259122620521371130874868856973152311839871072188680188528610834872756061102215200606340639774835975728365488742749239152669923973157478720229798609835532279307832751851423006902443404973729855514470551797484236493566079957494803307065992573093325143735248676992497734785953363546431926397264752540524680259218160453235393204545012350820055440207412558902234283932720392148203007403686345099144004645602428636128762517553757133529301871728863142913113778868257109737166105298560286971801507810483680144954277929749556565892189341634128734836632390199851154456798160172406590359650398761490153523586326943835873846774962146694177951852588637221372531285998992925434707994853064890835739577393828044734845480386953078894740927143036648394325553876995097242148017112687293614803098128128351871369877052945206999569591541420896776361501259940771781214612687668771354799638806117365097709693617691459151879361373922824009965334423166357524350822231831644529136636681590423408705357350179142133566071020212620195116294138428719192792234438837918891863594241451133058795246841154173104044649427697551220723795542118553616550595466773526681731426803716340363371534959840320690651292479850989950965879094036547212622877418752383743455267879072271401691692230990541574263657292647271205068037714846896370180613600180933117069868441185779707295690926000664116770743646565535956041708968629211784116376185993190253368897416542674605939287576191829592530838448910730873716835422725767646841108896374568926721784391932376519211262191689841007844082880435865735713997851256059162498921941245000704107436622382125944385690247097823370444839131941966402368094695817488143065545443492667913787931136735062713476686872877872812325144695511099663413904793986899749459614246677360862066197959189017911930116856839618992379520603327982389920459200707423458667060169896109427854625355266228205215589892725861419092529673987136522231274233469013193109608531673107566012631264042954846279058543150584192574851743243126592245909097029587000683297383831049823806189322700366284013679353797660245758143420727000970955130342796126267179362608333483436680399982281057944393656566685362903635595044764658459908075231996789161136297227274403594913238000033787416128076925582132286352562367407111089745286023658917290108672699313087556033617059180593079334647851573386821129161849357769204696824181602812343842176713751883005688243728211513597671239638786164078896584580648019478664374034457258006222290928970582266280476029862102529147226186360411871689877310908855488451105175011147046219338372748034240207322166796792844366590533255163719464507524234565706117150980469145434893715169642490316980678841484576386476800271386453776393862748016514583225746495610217985469592328998927180008425646077392656534069825104417185274510568898143428028990341990209947613188896564315442959490776349788376839289860076905910035280696629232230554673508720700200589908180474977409056427573749891051397635712695695942808238635244559598110746238820473772249491189280550001681419413308905665946772068758539366401439437882008962595531453470856502073783824080020405556749390244879925480139665447025921240599583735945983641238499271585747680630968893589305665412456758474462050190094696919028042568994752844860037843540474359161301840859644422648674139112274352125993004728559714175178588791687447037523528588600495047180564358557374388491559203521737576692698340732913950944903607727945022596103270239765295103742407836231859730802001657329211634752986369641910457113456802136889328550200729451888126870171818479726687315320869946323216286038612282327003442491848755141068607863312294368579301055021651765702710107320776786812886960396085181083301241843840002026130532929460472502447424156986827982116113762004287137325268203957151965167516498343862581074248534228924419322882849294767677160428510717925441672198785217765463645021058876908128157778397930193558524433487889254551804743595321464085048583021909809559788982969389731920793854168607576906660067513693833650015350897527396517041490925025451388725531893596630253191623256349729065216498039416651284373042392186693555327034874219737022557979334176256384055933636839651504198078685323794535532898260454255315517667537300570161986661099791982100095296433664158829170427223933716630869618516630661922903460562586735908346522172998456945319603365144745740687497950589241395388711948974981183837667861814788598744044476589024315436451111748101340828141925414910669971616939256971789520770939368558411760718722470966600256645707777046939612234331075060522418330202563271365557584233087979481104656989957703951045013390499952309120256952967081265524639274272216274678026817364540946149393307134805706595343203096784720784976726524840773204650416290416056116758470349970921667891235008221454918338214599573353434069116694427087583096102708317554433820207567312858321599727285065062717331758950361563377565110606258395077454844085541642743894541198702918436982215728936068431566825288705783826495264877879045417964851417013871591517285304364044396846140835128157397149011482086662092222276399244583705375919306214819433903849470331858068545357632339939942446879279162862396440472157186926891024905367503472152977408895156603521829008290513326279870572531020615871196683925660269223548555088717703983754787168362399027049129883582914428664795353002301110905474757789130328588303028920339278740978573536156504929919523450808607617876681028876413505959336537730378645509462701425673467107795152912335077437194371718492187448732431786478857373442065576453467125477974870088038453613477289122876295199536267821042443858022344917936845155184260992497283894909418054400623104658813920771554323147181633876528404797898725590019799527923596558995212467891117435064079819075684819826420879551774377592041988614562669910250894985159237568740060118529258177472508560684804640911780118961720897004543188980045481479154770137306340882161089762988029455832927501637159322724679691368805063991300277892813963754734232759900578446524657747735612392308914340611802701645711364645998307566150570705558643657375176695185337964751872071114189905972381079292657093921982750253178704824768214475698655888116177844824359782059270804149530789148909329096116894768474070389035820224072953148920238918918476681090046120248634279952608602156013980684618665267654923474031709549133713546997812613491112091345324237007669274056147273727449154317698034272931786997664235474811445834042070929760076367139196565983973776425851949158395967261848206728797129609713482318277014162374834604545586768688059168866819811696072268130294492348178906686992807204413456022843310843059237496743867855682263217286980241736111993687263600321322120459125353247734305302220115096605921239738362114258642043998807017055870841345341584580240830171534971783319388786820370595739584567552185421555504656735357735004698660113635121322430838934870884417618188698564632440571748207283530034781932281546038206970417871281922509347726570627340885711842538744338969607945786321095486059717348098688879656549009121076086778618233976510063049020347980099441334017671236687686550464302377156883531138158393099714130957417786107032507494454714841071831257700081976436542957089627146637283138035844931716297891377311236560021443973347651189890380912471770897304285225993605634942751549404846889164609393522735805156073218581973188589074636327944403726198002854144453679866329288585355489932395871370349906695335294268293462404429821436776983092697272751402566038871252222273388028899398271018426316219982736437702203679803949431225735549762628151278584919726162995452271139144814408569086095385546432282324551195055431607183054512249455978289189096201057184205573455835483290173312110409712812320883980115954245995786476656933399014000478919988208585577192972701236415540916061617827114830709819274187308958704194312462074516046513001518007549011970047716860454674016040461240596781807470077613456986176136308620563838415150399259411763892585474945061418635095274800871925428546963872566085395361119]