ct=8444364975589772797055893981521713327050412672947981497670058968048496866945329071766903504031850326886044156183772061536008309129649206481822343598602587847395416028680878565218655016515852351676879922547808701826422526751789477541328039672085486441882532859045756548413543235560645980347792233095984336619096612364471244649306028316007768357303642743467781035025613002038998872696343049643139550544048670092771218327009079306173265538750729564298801906743989667306515121127016230535078816353162991278688669953995510084221125648904009755012687558652089031863120203198032756881772948958152602271251766903472137799799439027375152156036360758485616334225747936411780882083389507798320643918526419444927334464977216224724394111705391294081637715665751647563394166777385613078050368761659545159719902738575892054880083575723876645986783389962029251387180552563724547638446929787387056931684138419915288253872281976803675141798868660802706262254487116462998728661441376145519474330325620436545152611426312378325303129035715906922494438970834590027678358153614181408175047996784944813038512014700548106666556835459656098789527254309926666117212840874089013839517626744281753849296915962723031749930297925133451746975858629120965110952179348614350706275368903209945682205109729450467829366509711365741488352594737909485569307699555681885004676122774582204225076412321153000822001312496022999191403276114298674636651360387043577692658707544555679055328981593890412875869370780143381894122600768675681126545758644981298159738841667439389224681577520778807365053692101835248594332379331470374525804460948930469910575168942955824905570066789015932349753089227065128856127010828383277204409427830128278611462057738587569246555111388949280794229103812431507345835847960849049973517895661579616674548677849926695379174058822906540698830725776148502670645735054655667781114312479043055872215230263532211197749293291375095771091952011372023623704038290812807761700381209879182229457409584845765601667103381020402781837648982752358026975298031222003196933247123001175351194712574861504982143885190842357932301064836788004081665390599813710608368170744677368646343377630410895791997930222395837573246328105481656888994742776123427126913570329566265463146135754914763047686127855478066448167312016600700049502785093328385539811416936344389848045881332077936868731588476822558244972285628032636049373219776950680604893451758859712228605361934722183925265743081203355870949991422141203105312189930106598251744469700644325808002807076977850348938421659926635269929881937215951520804157551143814391700169213539722778959104147719137347154433071257605994126957471436005333231796169764517488412020827052153641520707671627278589410874094381937098911589673792791177868602578715512754052703368676224744201865625453563389771197958366979283675070389430909440581155349508561724515940961343526410784197543392079792280173404188539506541646840486675157965392572832762692988639470523343159508588708954757904049368569384128088237844286143290034888014370235538068979037533891076835797972321924397401742976479403085143049807783268960904538356882849503099531026410605794867691284161778090288605019557660345425488300046662726812099992569654694290142072872956320074185788815651235193308708639134740905885524818795578188312103808733410124344868300845165282660194442767057253577931842652764173703593551871347678015342976872970313118798216469211490741873730739384491365123116191000048988546402542976612977494694475585495216264418997863952870657876558164394025034131220235483490481845077734878316244057363549124516649906786328256542916437396652337969330109433973806477113907766461278710366037453318092055640460984561127929450208105140759920682164838552945963711637586840767429197096415046406743136793791917834771226270312616069363341790445986218332589302302737839430715033032027805711517860251558843338922992164759430753895218504806478238393873938158528024572164320411977077581901095138909918946223702887722192041456447611026258242345029099675719673525972061167522013920533254642290786309368882409858803120084034673515866632532096523110470921012238637824440259297721820085046881281494013950537438554889015874300937964144895528916972539226357319494224288159819692631947946428759288676402666140978746159837512844456023844655479289247499663378877082575022689859768209260474203860451435044615607362398658577608710208980614411180783190996670451578218050924710398296558948088991718324682849725462511210179207474022439438640693526014205585822135801848218079768008522587011909989217288551390938178129542242082967125936423029539365590396762987458234467906707847032549072287173900205436404707916538105664548418960577084450183743688625592819836616513277533940876969091565037241550529189642749412085228369456259865358714335088003333802012714348528832177775195390807560366652684939649845431152949026185287157138505009329621082917100018597419877269387095476968695563700945593993015131909
m=13489841340694981911104638980084154599826621088902090056201611935439168820887252879462998958180952061656533923890663839686372088446551605482984834343739100113650878524499090129980118992083308813891608093096302996533506941090840295716098177054858990767077528644219094174707288638287937522434730525196890291563233426924370217704380751741445857044614147986149131430271678882045284654018424757980607421493978780313216609363031457643840910718396145910332353101159549955989647404870234864042613611178125494772417871408032653097958458275820531483232527141529517425465574395839757453317117891050972752510352577039027332714774835567672092229867037948468467260843732729719046744635107976627154437151301207783239138063601585430792276594475979435994590235172409049746275917605211170782836974166927845330403072810548163521023326877586350938427801058929214330402557068034580586198068273761152023590038041342530632377279541250849556092757329531183044584970092243724628042225359469403611458739564314034466266590560408162194235951394524075791755087726500909288702632038098170220361828019594581827975183854548293950064800637182845960162791969606138349405699547403654413451844705036461322091692758704209829170214512003384474383347606050922339123944922755933460271819223166929590287880242379753314940775526841406431028455757982436053514699886915940334236765867591635949481264664740898935344843920678318877441517465165630868227990398006324760457924313307774565563920623472093942901769989372888442252016521087865409162245261518071475404208349593853726581261304484316086063012726966275268276934296436959923588600556814240700180221189665079957089069879730066791578408131782546239014293939590047587055000685307081173805141939239142603402983011055749528292745276946256021503094380332903244149841736428915236588275423569883696048327269940795586361643864772333210864507748832669118222272571540134174909136347897923597205482537162472218025653097192175691954197468634172904231983210684288847531221637989445336634278030337252090954984624754044592647198094633016013675543256314594874825053873479559427445478234227957019613925661261118229568329674279817620581106344163424161810435707232673981793133693494313856440881178627247226386566695193695009720643281425381636560362480816644680783312841422123709681694485755437666671584736783971762042623114291309544838872361655061199727225685140630841656363984991698302036276316175633415161075038710126393839282446661992057866369545411131249301396505263299573425819485543467257021352372810997446867517701957641783736990161525089997005790385453411552045027681599506131577078352671634339690576158969690542882449422713375059764219053647737299457244971853030491065145535361843880535545456114868532113199316929511778572805357297648488618653969608800883738378745002991465670071845147655286624855096945169519421337363729065643243627069639991588423246635874870715724650116454524386841191781129792504621971476687116545113236965217528909713512527312678462787768532415423767584221646471587595922147070525643490708405835068027059213848796505612206190313649423804444196884489419016570092803613792650789234547951709957049514935047357032017863830232738208683989419880594055850834364424378710566477445929749140808392352731783157006880241151093011392414163436833345358613318299079407030905456246760044611970300200568709734287287353778311894464414236859014185508569848582481779262116987318964894210839517572700959993598499443416568098689833141725195139304015352507125531394186131476144677660908225254025422785866358670957679525084590741058518997743768055916027172007626767442012607993688563560398441661599632721781342679419836029114213887422059113927354321418202251340665272816334376990486078757657093200127280912238704885552893728962970214566861386054937599716149254560671139745476582999270312789854342590619402856084037917286392053343542588893578965096059876821631149443376070189995970301206015522065608251352690603221231024995914604009294794867394498334668918602385390589114570294691624558786592210459575630242499065838932006977071354844183260919199581235798797888791750274175117313052833955326429488733157593130245396116300691180462465877500772119801992924203899999998966966454969357001390816461069908489691828560724836955838154886744116978565158784756957728458962547427351991891949917009501115013603283439009642000318114410617172749170434191126034446345392110988177180935470124901613063842945031722799440413459840706289370852781862324191365323202057338310281256676736843788488449097297507080699761184020175601202257703484791059609401814786033375632165892323278885434162977925429773511754596981014396456348917120381134767152124120423227409371328508505166057159284778179514463615525654746509439747202060197639592206436141277295695072229371277730919773219779522653943983400723262035259696810338858851897693749175737924873083744229566351317097128268270089860562558830537895084403165152571302122993641442495484051914667778379620040213767229
nums=[10684458546347528163897983250868042954341219343481182805743002516009213830951219066014483739077227663904358015354417607195046174651210640164536860387277830003057678235076588520798284979850455241188439762143236064960410013352062684526205179138786778348885746396427342223516498805570425304746927900512120706774253649125639256769459931164135722560403659771405934053277884502895399859005580559116480603654403900176913747094238221339853110537637295671104689006946292114268716028377488601133965302020422850957675611626425011573334211293032567731260305006861317635567274549211855547683778810480263042072214042891956486703301360251072697033695849257895273800306686785813147799724755886398419384863270484283091059343480463474437256517703968456056421788387517887327354230640777947559659895498817045050972264323095565586396267651406439018857931170806996638432506419194494649632854510767964358823936181294318946398350848055800437301069501155453004821556803369962904496687835310637400981373026442795094415336202217377840342119616225771820656116547532675393723748065839211402583968846871057197394770381865279577817446236183009351263185157965032330894400395211045058744189900986683469137873202536179125630193061843708925406874672681341467117645921653729921557619264185391244820795817282809909861202800538009001151936312938694507837767700818853571136175435400867625491256406727720955018764823274866722454818248369731786754219244256366446805370238612224041648149759634615579830669824466062918817713014359337479252497130763343564400346858642275048413568723934529575619783386247885265461019823260207431426897450660268981124217574999247174614743509797548512932979253647423718726651705511466348010868808401383372645031052859217804413135115552356039949209158723483295051603961089971581488086326367737603371669267469240595460946952641847511916440086975720045202698591074060530163755909673907410344861679162365598911578142932380700523426446598918903449638938124390722340571499195251344285373628517609589234574834371491492106738774892565549042983437440814174249904850266262969439345189941596170310773446523645204079775054106995099208898135507664281887237187596953744901700368569332970245022918472619745603917623835214669397465191713410381566428738559416124466292091970857218286890066888034318993992050410334634011871265175336254644569728934275777233800507725154411980668568459899335593977970589410099816736858617901760583222604857993857418690186948639112249265485665154089006255728232179071383139335968479495026778628669733554030948202968809491880647845295458649953665398540745872152882089559150934516405234186639452645942845085808348414443937903502652609671428940537151437391250634301380372427251814912698552536498462875407046344535921246694831159748206553629796380041054623918846224323806179961650861189411742849344132445130832635938785824341488878008270155163267908860114563176521957993624001248912658271124427916405864674719789879173780172940500078210444313633608013094771494856626623692128145143308191985228556710995037924270139949593499907696257544139633936413987848962202379749406581776979996233493853528650213460661191914526615939490560086833755779821154407796309282519403854342110320551695515773620747488216792117419378901164594423785679681118694563367065660827640558091842460288362814975967162628054229482802616537216955165839657829463404899070992759959595962834698028135860898389625393107769831148738945372388491516697439770780267049192617727997365448897484664155540882684789250824200547470096845194308640078903833548477832935636994859518579140670972771199897995208317469834078033229251647316333660443191548819478510266093559237676900520189630132273444524354035657055534398964091669739604045311547096392328085606003083560223058873922070773499345434249829058214011934410072761667732351609673588668869591277244164367804799084518785427522850501241521311526505567732899846203580293666513942581819545682552535986466420710733499737698938153105357621291113901246074316823965571146987831176225249455180086554233318025684432814823215196458997968442866111124345117964298726031381652946997233143900803088223415692183222707054814246696438338005150599277086330757727274056361245613363489205207951301744032597516740919704492283672132297592793301636445555159954674256312161618475248923945483139740705629399405396213647930213300550125313871136921787051849057908429992182152103920241928574909889762178172572447164163465301401012493073416504411927958933183069898699299802967847700046355331828418291759500712664559777555951854204624021837596443360270715431038566564329768380775273557948046784742777130568730082607923740089403192841971468437427044570658850057712296530390097451188357193143510252803816391561024279010915563877542176636854138815343750544708770872449738339355614330919271018785095926914755267848256933353588846546081341486433013791228998370676192365294244061180120481601515931761884515678676803964243982630833916854864504895092360004278692448124784, 9888157293672621613589199410886447285833646310333022875091288162590890361697386096096396323999401299699296890398330113013121594101787447291809009977439759956803457597255823651038119029436280989148449405464593192600202131183974740481081937863394163940839885698347783306907395406241611344459899557857319870639433316964990482008998404657954055427180918277503682555104741296663644165462699636347123696063414685550961041507865578528596970492162596108155309168618997412831966674207601596401806006449597178861485720765058795299605521358149059240767891831900045206510862553182756525146809310702314049834950404946571905478392405619660783257712922031292821323528303959546733367846001107418225678357221130944536325520931422655894687379154055267102418691788227806999623847492119067681716092969655961889594672310928039723001266403312891118680928174951053911954689214878379515841644803146967661830194763879309282223838701186139938368736378049852683721681688986313795269984883915096878857713028081123745646016884715095842954885737688112086479084525193554406704196615398941382532608166668994228975495240431791568742279049258809076363960884254533619509404412006179100237959066683653715023939544351301434486439959208881622620992011345861572488480668440587856784336556047124670846262765564934519132915876132586773896393117387393118930676921991754669146595736539682506177291266643593632295974242668799129593957729715195395332597589749904078004999496719172822508531269291486005021933637879772076827045593469133184339257006366293501953304709276442117974668016107697884000566518284091661487672809484367620686481464690220989421537183139322791026983054620725494908388293362372761509807663350658172604799607306837691763015757601260971188570988112131480814119330518056097164456468424875643590870570613245273796403459183539241679983615237809977039873089255747871459636231958925771238959023124828328857282901981941245237133292481874118158656134731708535252705933082833748570810564069622847083593906687017556102847824605589897238585456853938471879123009774904201942121778766311377910219049121007047085234523047361464027744989994547568283022490495678774621868876436120522545541372719199925243781209435374540542970874058661002865113099751148988259023811787900846356600390870241809097954547799767161655678882800577932236806780177052437012612000010872516467582386884056846212534982825173814744453325164353048078017464268102419926557846928649786207524662592225894717281845478049072191757792442857887376976946628660064135727108099169876542317586907904593326842938330284426178351764542462007635889829245879412528709522426187575029219412343941621703521985168998963176232837756527394402048691812056766056412776517166557203202859499889791012720444407672125055966952861541434903463321824948334892993603860004441623765237077249460420960675688396134649846424259658541542591780546577076986174327439190282336272660820587161175472978034133812448065337827931256254351796191702880987588080897998183288570931259309456806701581288913536096696861347798730598524253709600118210475978748900714066419100710852013843321711933026755471766786823483971088037949858853868549411303898026114016618637789135500888790083784850920501911292783089730069411121887666222389296314549975275561731277772018267693666903824661677365640326647544771957980240569012806872466050386836227438070535430797079478480866757461940730504278957591585397825103577069499705763011835721820335163796258205727169514003789347777102965448826683130955485880321794824947914384015656330209344463024066946919940263165803680742222915788925620245069018373454474929629659005138019103350854485276672811261996132736965014765992264607255897485853295777542570795897153217123789541824986138226422853561740706774455145655816633307898669553996228822750568503311060698907870156684422403665123492240948449185932224593328961651131878541770959764084098255677352900973661823375253340918453549077991803323448475648700311587471715545719921262480021641480730864521991050064966940187841579334324989849437781883316063110618037793487789006707030763373910919630652245618697798789776192537424792971027005351181092901723958284170363490348367455474038690124662783529878441948191315433554611768630357356273183412071969895983078672750859263645784859406948761312713138019445569965588102503481073367393386487031753768787723389456568374410121017535377937532250020792925017329062534260171260039099190000678586065536070280476947052329709591480487182061870563248525375488281467513567969324876016961799861322769785100781987742119352766542650895282245402442599684275773227863838265922404255787871542864366840089431648870611956344914899286168531819516138308572949736349071832184940244266130784093754163755414803526545263054533915878224714032962158505909363330869731605897930655663583282631776564009214855828325016126362489298252930782931409968561915466073145510586626244823851596563955042488181480911603923392071347187246151936732219240898348347131267955382920, 8241374210324923021129934057452760857750561873759433435380734180026677612919705071902065157222728583983361563869196630289073432476253405508164795315498819214503274328115703466860143559312364905136230591186930189576947119378317241925317703174637663202808159069256289889692744127623677517423259335238825161402530922763980782131621912040846904631588105822558336838675829769869107675234618372731027157003576480724183218589672012425075147605337130500494900737877807484694760359976139096684267455343910089043376818426931735453130059023982667128529225469520898037342899787204556490005129944601656506737603084856797704618730302531865826925917541437735514504017879746066323681276773630738810098296937599440839118095752663395482578918488567465441618904093735600811720204552089139699825590664869564359440686004552446698790111851354756716795318717314012627906743673724130523968942944875825296484363886575642828033754300136290206081093573396611672743339483918346497955523704775994514379952898587510010691070036905425907858168296525501504801032363885713410363542641238662863848094971873852778335473509443367374439616821928229036557499888507284216307203030945937053085976056744543444227819750222802243420062701297069004302867037555288193039479528369094783342081619300079386279149030019291493152633619219991129701027089315056200687619300076786568362485903154809791770635886496451837782510868921815380193964827658572358954531328311082462482184036547650945025234787282098323017859277215347912318552557528419310000709221232270321870029770211631567300777137988338081469973520015137351950574258943830413121824643673266947017965067355713425949443346185659754986129414804450754974785090582975538700785142562903987724978872406924832295844461343263481506304270584499420409396961297077239949276197215326412612031962089281377342840426967811526587192374297476016709795528654453033303807244684281827999295963273846744119412156419000547679582315619348373324915063555351680306204731254658000204125455137142084313013423951455566265971897531303341933510848273563373991166681149364689730715406931665236970670940776413553010375731458326346989786858973869053053043658246655068298321731017899318674626945561152240288068235258993488949560002952636007839679043754234688644472785466454151232201460555539585816813611103719223843311361706818620102097027579463356579196890373481117862812609632122673632390269736350451699739574181261537283170879084022084503747333404825798110915747557457471122795847736389436419480931519865524091744795789610902571957252325274732250204568322222792263385335304903064350224266662779717619183259444251751174053570775554828318734081438884269698158347735571977079528292598274594415600555860273101121477596192594928031792156455296108883347962878714832557539834078024999010978577721158199348573268599712812335142540319053337191380904981075487105709103905591555404790810294576680041959899524317774519359213668764438354304388169414709367235975529858260093363290612355538978476998841989242348305727650524599106513700140693415617564860122982352603873306802554578661135131295372412858538627098143307375689526040856886896973947338567408610783331313858875631922119077514198829515445899951356848544370695647498859138406328888678055415198092440643472146573622366756427397022890164351704791462606929784269734656606854994695433264555853212341031862267418014010090075760800534004127320494640585966948858480408313146521808440909672317995261995851287150005077589838975209315921284228098731309104240624088001549080635185294106352709916894812674529533147153482866263279183999093130334827763041540671309054469977832090848032525401849653581677477071103226680674833897626298957066024269213588674209471222488533004456608436852273991294222403753771354932878572709760887369836028518168232164305994589317432806372365741551735460721213504644938156529508251587872983534916578008847478248088053301199022623339452566987071279105859562224412039496654932299991049774651933630354524602450798722245126878093011838678767890112993445392863020921152683550287425042890665415384923092848268783979599504278544267446842093111696510232999273699957535339243043622672373536347267148886151857143279952211690492700638929376743763737983660658510462850884980621450032270635467744699303068884284816643588971688902410897516354155359604390346319450936603022323100905409000611507139695903973215951281332349027802693529110351585035002249731165682427477215894787550073199285085902344702911073888973494373958792880362195442520059981923937778416899542042984324962495263564084869810177199761469525319942361757441993934041039199461460274400265030351584317284104380551532727463386931263345974916371365067940972422625610774649111663321539635016412363763668841164920494727974602667521521333064336185616770050073006623810851386493725428806959361288659791230961401112063401880722029897468431487635218487585623434788812963429629090273084307641298830484097934486687337181511603683529201569956154153602953529, 5832024009048461443897221557930946732689702495233644081949589473169652335483119052288536041181340817149569100423956943575989434050814661241522266325511136904923621506046825125852573904943387681552329081640461582374923139813822291791449583531850933377438314089990094546061750357904407871226292577797600363135120650664165542200604313302192543932106433723258529041714224289437732621703430134282971926224140882989733040752495116261763745190507189174085515859342605502118115810620876602494729880517507796140174837268553757694112709573229161265446433800622173458436514459389563226870074427489994046841704996079636706195540022309849241662361958452337998922040845375515860952394904446954668387476817875065900794679377014159315036042781043112017153499717021253799632450859089906554253387407982369598981012092511846827650466152915090044269520184609773660622405877457226808487207915565864670357945494125739120134165514973988761120044584558103232629786395207080654399446558635596801900437540746915396358419910421497898887131080715283072068308045422328781348692381006188266824400983058662012245744852007045041802602656369114566142200280263389992583679573900073063671031140426704730318325508972990879379636558398342942504380160672996490124703398261756746129226124258901097549471288702960173197241700628117663549294520288193634941341150396271186571293161568584885502957830805346050068465180488266437739608702943419648046588823800502770104610803237658685815751599571807371299773754001187719879713833393341355714679519848789443896013489888217330668214548608953342162140137304302551701709152825275133415040092566354615405962327942720920767619930250404786280823978433247002777232926398184311816632320206964803680488514964124139564131392406437398498810102280059609262371736361545533293067080521326104409663510817151043247347996158196822670564296229173208217291843181326311041213599747705929019943440940358895295478274482533818348802506581731978577579479662928777001931712380308399694088406263937639132434883093780584908343698246202294346187910123376131864333357902506060441667387002391847106330298660697846369832798888691089855619941969545171465334040691894619331316947661515591960072938270660398731370887034640907822900019875714826061576057879792326594597785964073046750152413334328535462389822483287791324381813519493662080695955531907662579758813590510444638739266658571774172939602839135337431783295952652737427954800924439836364117049103884988216505261388843914515783027411607004521507054740104375960497543290015816562359330809732734928105352322926644063258289381822846905490348197069435544798769814570649291437027454467681863200855757578163958001983270102294566059578540413819572102815819437241367090711605326710987252254454997686524572778206204567859826219171417729561213275363279869041055603419192201835119298710708241317583243166207973033882446642715497721438680769947208979768582541099229898460984150141408640958716390842812041265157261958070130014072839094822736283939443694621674984721226923136642970037214598297810462842361792304499080863178370313010242010417621765015679460275606943484775454443506541846481278078322237689668985760991622599914346163735913794176149528476536661671123247250592983182830716355881991056231097537034330407963051966779358324744132941982962672115009687191493542637405121853131242149170349008796733431129463186910159850828435660507769394667094385016834317007589211782565021440324206636508100594927931807921085709166909124640664848569654203568256196341651982654810524088077024589074783112183096577948560350330142265744249225706681525358018151208973022996860971323528030600382352204367324355575402891808646825610005962259880065394001321318793798210992572149156417448121070616115247306907539572609953140448068019581640298360919811487104382594647441418268526838637702637981840625659132636767320330054000410329798665686561198544985377072822500982193408777325428141983447930431225367626797904578792374555590042390713192297056212571032881448967138949514983959680806466514937585027365357559427524371692589431827455775328634980982115263844287217665203849988451801685839209819337827346774989296319974325117745654761560189439065445181686624287399001977906173432369311103081502151698773470406179692969989621073171303712183918790687809727358032287639676836709518974700550815542219391426492788512902265484837169800558976273725849869529360454056231306478216239283125200793225350153899502175943048505702063365709312144779386605990364922526990623330411643894797221439411847830907980856750570922161120171015164123224251168848207909138569156992133228281727392388361643738411290243119990688208519424994031130733013347421311895560843070380748933331932934346742847193984236933696496615659548277711803514098905119197789406023089098860367914767076011060836566116145448574448220320116960938398139631224237137201576420381235669768878693478938259611765995431344047116682029705336176045095316403923722866958699298678224415951397840880253, 6950330223872481220155657681567237514939364310742637398814116494957433919725238322653967827243192819816067395103283843243316877251086217093386656663466440530625334340210312270283414351463229214636428584055970316031187377641279454300610076041349008486981045574819011589438962895055499874376234915564808011186061076656696399110880077339920094691387873836470194899862341019869352817103804928032524312142741892169131367818683305707960353823311605270081706570114791138724904334399416510600146769207847115161281675922446379423646792555453548033547170716457158311206762704351618790362112443311795593034665937486665409273748490896928469255904320761625941246942976602866615926437684176523480140935356268765578310912861024385879277573033015930741458165261279039721926213236793494606170263343067398728314164574714962712942906626741128587746631891001123494071939048467568334515480606085036962763216249058139958767594383276368118535680707625251548394221531621558083326907922225541835531235168476177833011564206953697932662503221816177410642568068580066551815206591563860423504432515704774112210097861845043462479488349112588589579497404486477986295562603470622531530483499934303281694101042190527105066466327145795013312631364152062114974512204695251255651289586246692815815264932112031230449317163419489322779492121602923100704945615741823619571375663157433353480447662055542787180223605823151048720271039930282503983852734800996252763662959058838900977688286692941258276529496721722906389106835976619839102919092523951365509322207214013581155976634453365280399779199292036365914586615450127041948366567827425868411336752193987262698157133297088590382585333572820990048590018244934183842723784735109207885682935446336995126961849020612624548208354140141278339436142536531339314926360840307264728666543263524170215226642765893206121255478052013733339114727815103133252947467075497773818488279562261015115682513850928720010875006515366365761610576702139124960109188016037848449923014550748922971198614234129466196702233345302494258131911487330353434295430495719203864600415196359456688520935346652699277448141410864895949797647369717460831655695069358000157392042785448184110170042527155188029357163380960363402374507328798635418076378129088320644471764728947858113103132142260024288082284811051754081407436973987643559984287899941111520887814896934842760597351172178515662712352855878311129227658317264132976105375827334324180464851250311840059707529629085656094397434947884140879336483135734368801624526752065278966328137729403974964133361064333331195658651799155759045745275420184900771014736394530411042548256794453460767418583073495663361065212733343524516217958245148082096645617634067669911141640175878451586419301683171329792138195404420927681483191971533747244399913352529606731620403228915580508099911575676178682713698582341631373376492640939302114630588491433472228532082576894877110948683424586233341352384313731323193489543327272289501730267238052730595175773686099544525788745669203702922794590377146599040390551179174907368128284246754265554025552168973588198990501852344454723179551988039978259018032756741995456599190245001562504522883327563785797317014401169993191978877461723032000675771267812484544290040324959421531670650464991436084851376177850731337075341420459578546526919791577191298323355752604433362966072682815958362791200887129600100006480181648395758548759454961978657187949568594229625726096004661468103276728746798281175408265799132101545846614224691793141436237916464193395102897766718051865916305071968519319921146759108920185347227994446391818228849484504513688309005808278501290364289757834075610464524333385551904292971313327970869618904027409062107533175451048719548804502229274657518630029608766765363091179878865050447464451225918929020624964844293233464165620741157023223348970912758759035006632405013743130970292060420038168379848460859800299313470547817814922693536008767157037540876099357924782979044521323445868902018557969630268810590529336361325910535770653669980506785369762736562362061774626240310758621267703399290604902932357997119934680972967797943026627085628273724013806944010740306674217601863243796387536143857234314048552304957300317708783704973532780720699698770267342721388274741138269876046834853651905506813768234369385781606513374202647105227875481436468893378293757830268972337739650470273640728069983106099887417681707334692654428752500588840960695696974207841138765326937692827438802986177602737821549457042985952998728008252048056073641165500613287196159831471008821638303097748425046864570945566083800423155954580786696190342354026668409137831570756920012936097897014503033388162940509226504888473964134774116384500365954226480609792819641872531007930652179199447108455531505698739244403530983329753493249610285931629131160237644111033133413506487163017477592744769496157302576752897370343200362797146230580617818538685027156500731989666754927356678756527997987546677948488, 6825679242242443220464002855676977971548712616982856689480297181348347918617963206185159889714601807926463206550054151621310459444488175614197872375636874966339178243769738996378158111650465750468234449234333800723132419814675082300841686903961825416987889595405215151944697909142716373004013802410136030628528254399977135978177585550671705904130641360109019729905386991058066383923087195528080468390560892850474505022032691839129250394839437877984203699932933318501064331982996436247489758713496447776004278531796079688341463980781793114243654807145615199567383783618618519558717141524540499882907974124150706353142304235142230444587847348656687125005132936193318269868794757731068257939923517941836092891016910491390821515161565457465384614621232773302561969126695364147231442256907549578195615569821560459318437143739499842095376165233225564632721987678296758441801275334539066479350939305766549166802374779050207391650675116048462223017182695036839022169159424389884364113223099313839058511879419763593403380599885061742879686417249075671957883023739199175047867380761532329776484922100573133670178116404826120301684110927249817843033097993353422633626377369494705446812587158087995863517996454176755629898775361214421465991617107408707267313899488905892361194876825073276006398513660360436291576354251614963007081443434294692732283264722198812926094291362377792177203376972408681618110725492281184603146561271408027155478985160549591094305232289154401429713943789287825852065254449991939570849964785706322717874989479047207158008462607985445858448626204589697957248398900732523937543869499477776671034287498092480126609014463832580154478104982632678561893375720588604011279131626963528044261947043703787085326718547421490144650947079682763879073193997359070211987355444361913849168510860468340951311248816245474580226689135228967342127831185333879664997771349547684417357444990601407356292025965301507570446823148412553741188915074605742227062064112519943363022858549302300173706633789387362738691404461594084576703629156604266639894093323222656125294695741700311639733102808860100137774869712911798275221267735285231000061156716191379512266871214843772334654783808197261648392255113193490392935777116830353431552892830496886872551968385985781897524171769444273087396085125166268712471415785980918036824345580153221535290196921862606055751521730709100670403542510870582910149660913228005600531125491190875385818756708462550659130089778680214791981570290150249834128457901587499016133194002375769948789735878623731694293509876772850832744746690551074659782757033640306360733455017203319015344070175954637407563122035244107992063631282631961274779547996072509349665978340266165303933257971692107911546898755259823719263099878147629774182426783318837634063924498474167940326296756817899443913759202795182157386721249741902791405520113888920045890516228225691947861998899025480375339077176553206804293117215368502744877371983442937079460639900886863467033595957531380717657410906847394585528208060520812900199923816592203441739993597910059722594586214088722019399666701160262883997484208255921248141757424205328741873156207346329039867915873185380557370793270935121676558256321287595741442613107384087959109912009933479687935800203002503819396379309548037698846677744500115470123324106108666487126950283843859338123457200643904577141971677314057456507946894528459764871856115594143487105147238410448129018371051345445218692473468287179492436073387704263107707172205064592379596913451569051946765377672938431595994624801677240389378278743946486830668188571753339594420832763438539668972556672521244530462111273563687227414344601285378187685399731471925443698827702768451180951303381251633020641174661949635827058753328097539061730907700567682036770632312089476715902226803968080425767526606946166413684803195998512192119258312188095560067372969114664948159875264045719502316996268138962642137939289109966855665600323429134134190121306591752165611618268103297025915467196074259725927416558860617789402735485358269390428805758213757559039134763450876049971104370411194155307058428289125954561820075073211891460261304810335647663744312878434597842608377324417868637874661045086776684852734844682503785937851882959958459112411112329685180566704893096470069158107194009786474232425366561443753965432609437830416347780461676483149088536291395082160311928850214628532638799642466884114552299793403421352244213464795775379930904694983414926108199568799485900204425535095920636750746700259972523020073437645660497184022843391433219445388675354477677850646841741797173292495143968334519774414229348560005808808350262100114024968220426858301245542990426376340823508853663043721935145591232385736969177297934015883007897627220920985026574650939752915317895510000004870723608413164949252666352848041342944454631767593905913772819461181592162649850101647978784006434015548141119649480107832778713847134076248301919780293879408771116806277104, 12082725825535264866164149756504591045863046467821246628207351588290453966950688454047367325998413419230876043972634548825103734748891566259578986990585389821275339203668673688851781705124976472671911041091830752666278203571329617628090750100718088391664720335272615339793245634184132320015459900606987649522373553228991564100625293412286716059518833089150291001778514428467936152999204503176536000369274484653484013507349822008512601639914809288233895269676731718273164573847697431604289167448360310011777698087650312471694056587747685477187338428625020007318042147426862838955404322901339811802969791620160372964670160419618081609486262727120412303241462635689449752106229475469603729664678792142012873236200335875584737490626582851559728081979033976336208128704636988183570027335677948705112902783068054734160493895952608069605120102973842931506828563221081422620112580548163601634246663257677490027691689783988289980334805384564623470702093982964324593840948561208244841993279699279463274553383299564804750440234530169787877415528166125084494175366411304089354361870389327411404393292505480267221385585622414075593345093687838712932453143274869145410844344753023324579509069349692208239682248196796516227226070616521523413350794385786685889153065422788744055202165287563794216879243996262032040887945688677823425308267702954387541815593102530609730133402290136071571895612202162067848419073244865193797108003523864465874030059232400755722145314968931949165470584907860382540355587259791216947354476767902241422949154095055920654123669260826810075873615938736710414380484495540965789046432507782257978742581958605066053855019572153287171065998346902090828135438323292150705269022902004979259480714377974399501817659830575826642224714647743503501600979830726814094989363604062340937859768033922984258313016335133826858268298141645329779140839540125525676029728071333003182943460232586204055353383702797305610281123208654702769848638223819424633587860996735677018727803767443622219145186041329121156662044640814250817037385400786944700040742254461292737651389584801032758055095257404357479749131705754544668973651124039978701844821149191939430393490499960291170846777448048781628001741873031524411685716636737537512767152477395819113074818633335165179895804720663036133511016533238556648188172762912849559351923381793330658959432800717647389987447098939640643785687974107214692582389667470867715160403423521169071653906164098011371912445323286609336333093369892562266514321739586696383938747106670040554155123616406673463464430836705756905152213862845423920608330149851265455718241642278444213228849614729443173499515545688534744672907252621594431184622700352693450856406627845150624385072457696604020968773541679917775177322205505489689473401487210009843515003511339622832657887511800124070807648679508395590485203527296521140925878452655173523089370082679120939555124668053326113825951812485602709553047619389169853275727170585526833171528745244514844437368242909468374062705073404173011112896955464112267523221227076200372633115411844269187886203235508292798709246978403433996168951874222064690730814601376116061656110747103148694941654480337663262321600203488517692600167368699090851700719060042932346114037877648871836591254744533253499626515475844912261378341263501286207522645933211272255847064469324688103493994583568705883002827603963717308016815048361977725219473148844589296879358559176803056536406152516278678600934851963519909934357020881915453151489774454362005257584131148457449337051609988604456190586814134445017845172401547736551069773407468877090366480380258508842651102160003091448604230466105175671916236798098403639602518847015643378661237013379893477081044601884564027830802791426601417578042513441351911097186554392508286389103795945330267556233214663925622074593377031122223640628812379182908882253865825863117767031035500716414386137153136159015932248045559711326037468249425331069774981587358280427268463664548836856818709619567914698686065063737507848502312833273676310259918382651003932482031525805297361152248922621253133862629774903837419568332121118548868497434391278180228700297177443650412634047913419951770985211478417891104224718811623973213566340309896698322426585086175644391343573008816933816660305107437074124618372789554379728503140010205512943343481969624836604238166449515507950074014413045174911487334532961072766788231048165012505359704571371920738296352700368489623770746312647366329549189873390536150737592814534158868880187898323842168402540504604640486901373534796883340569250826090968808081393711537770722173597646011565500554761660869389248041775480493911685851260960596767598742330475164908967289762732761870282185012913971232433830156214707074982863310796610155566935091485105963007043026657452453590765149021329849921265386270133016059053843391034429357590798760638333670021515276321911099091394169170358174895276344352547114291719717112212984185078525151346465889220857158, 3293497763537037068313148502052665399829050543013474368090580715564925700491547958561509712457101162025466773300167615649280638249683138009402756484019196120666919770408591095272573220304345173870258791181765502502254555604510644622850252805092221034572928924962897718225034574994722177411413962468366184775662539284880323534674495729618926465992807492123138762582096534748631727148983129309887065042988613044459096106091626259577432081015702922742522337900107652399330001454077160475524686874479581813214883623754216689174095825544370457754708387791195158639501422340398282472798765621035392831575374142011427226006624848357503584488852944422289358734426080758707764904822974549244012421239594295033456866103186122717454917230179342131883422482552391225744847055513336315232004161604429068854908373518881446773763490670177913917320559646672938187316038678421471555548380168844807984475353138186327604348141611689322000747435999785402740630937860901151016971500323009423425869805710423905744325835366616763544256878007547866771402374408769227506353545455893945259472693021892851852448431545946986744332070975890486309411259360524523886295863052807612113056730580925440222770967857556222658580180427597221310228748999735350059637319027585809770439323080207589392947330174894963025859544670533934515506045971127939349656041607653822834905875132989531033278323538506779971788839035894665051103734903068807572067879823519708669800873475252838574561907814959942983250663809779645166553340593771110331326732004505503019196434667266093377389273447721736918264874149296634701046590074074664211949019334253122199573383571429573913069088667974197387711655519179762707851290377559114396848099975979704191837109437439508419828525810666097725902991721692221339671184857174300480309435313914323100080817720017406489168693377184243024321062879051710946473332878222376836232646937077029801130091206256309115496652121304722184366753548998357267665720168109945423058147264582236733368383742744803792345804026468737593531105285445758750355219376768962470864124312004321765182698891682584681236274215411222096408066344618900466524716160603655061077601546949127323464638140325273486950995950470258949303558225259489159583620452418777026909952051728674620211939593617343633320342063619420832460854145049593901563949232136248675555462632355337757894841642241320203616356480677621432650568345535392327487854343995467070641073112986504877560680923801053014920441932184050408557036543763194494507693256980968184247339152362113856764003189072536446945897758046683665203640496937109094120521062762407666052136476971323667877922409780582719417933046468992610837903077247921628263630561115408692368643429409914808845216372166112336849933065833551129913066616078816318282752464935951079548301002668955367289762596214673979101398752797188510731996165040157864943429183802871388503001884546171253885023561496090041740070424011665008034528580245883928610988233873760540171528010377219996709252791795591979262142148257325556897608619483036285585838094516037103546182694683995825262547118748699499316406444936904969569677575623792886485190137265513934595605836392991593707170549764872126962779739129815069522130569073463925480941148914111786520725057423456050080591091912746750222737572291811348725133583773741098044778530544785791853982665402507793291594511510387528338482068259422708686925560342315662366953771083508007759319633285606198086010061477173614169537935767718325692995057543519917973434597038737498079419429244449761842495692516188903014503876791290118146664338688001995795062195021982925206796538155489629702544104224337290564793846415890799536132376572073650592419688262827472510826563668262831200283423558229491655980542356545375709091762725357966002992712927578034904621677093817094767155936483615385396777281954163804371253115596356431332130820288204784637813164130930834012036153978517211661100359058272913572137622680476968953316217984280906346761108576380680275198058298306414628280804410656579904913832059346740564121762012943619883438112903572691781280650241300401333262522014368998881453510107074869816781890846730195393380477340296346178381647256345403022802794932131470480263764922741861882231861730126249791333182129679419244965106410308404636768330003130631150621246832584018545196540808625057287775103033729937106253215240141501569645272913688489061410616395810858745859302435574299610606900545967138755722364241621747756604664291135890864822449061839028327191253526697524511471559354005914494881126005017869767734501725749354688862919383815826037939657258991364463544714831552190239243551012155665102037768336925982741398072757709861171082364432086330920154133577804789206454521822703165512228376205797561748791549398935519926051675513089908862753106810682303974887463108951816832686404737206486840149429723053116049418840473416150615497656354529032907414098245113230365476721163410884716896160957558786878647438827801810882530146596, 11299799682018490339131663848815825868643260162768444002059015144063940244875458361429783406750829927715808195363784513640310979986840768014910351833488128652834207664877535214675564729671391125731195823723143838523621509650932525022650367345441077807622546649505116269606638950659424481978182767724403937989053250998140988777624204404763127343140203705613089056394030785153038915705893149509382361372979403579730308599118068212356803827992943933546940098627148375228288467761619650563555708797927107122707312858868185345495594945297648560178995717696365125097623312474891532061575912495815622676706309833561970629880083571552170357013070740231209906135776071943341914380785312342914375865770818489865596761974159325888414526010530145526481785077359759155666312046199001511969289175776126281451403186400990855801192473858018930375629308225538538355977199709208841707760874662318952472008702983782619332763768919211187308660317274997417429891847488407816009506038115531777553718539616419139494244427949012539400409959898119626405645693272036007320898127611448333928376419146324744943306223744354034899314941558602806736881952627294685441392689834684850991202406926246573632258646458615879363241627897909439288260288511766117259989608906322996979149448272344627629725823022329719624018323983109439633471131869507631388639755303219348887627509946332331429490510433456120486676522992777543165892983244895674445369297585831582153172597093996620339382500548488668407140480729580590033800555510987057126534176000667753466166972850749801683763776779597049170548381810962717000679115278533775975782645091222209402314274989207966076397680647539519544283025825300103110048068918827520323372318805641905108419983973926238966877896748778780215083149635801846243165762168920128926102309957010579554710830827524315699578655510797317160050001113978931336925727732954548318448528182651559042582053761174591030004205643143443949881611985276774024638377556857428722214506418631978178954902775561958162924612250835882035560733009278568213963965432805445901175394520057983346841092077070348634649483476533180824296909522736881685439126205027297673657247999196827396809579610798197256589520810198504108908930201476607988973023635972813262690473505525163779765433342349082723426882439413809232778527690734923279718652257818493290462517154995124634595502404282411773824887141827395768305521198950663392913864616083572774761530977561635763075384382463686659662448686696980524456519235864685525044140840611204321413589198811958094524672955375421982903696715458696859949699131178638622553966426735895971846571751770745695118723570068040598992367921014650341108570890505720391901635892254975074918235270326018164135753069055152087381192808030321544685911629074298870702820595802461671763118184053011222412618182846114068061856414559157725578851623066283225881926673624428973066889096379608860946975360690152807903856274161614949932403365134066394739495019332308239140420783830515171142118620140331143268224656885639303803798898105620431603249101962371755790558782614190009284430889576829796609567642327987021171675940552762957048990488015432880697740978914643187166127389253119579257550792706754211184301567839116386632567288768122111113801854805179358161394190941416407447181510066316889868397542815060013399449139414410929713633262532378162502377796939999668412206926883499394164554823959905520051116462264171054859068616116881733385049835729984592925847371374565573273092704454786866510599624420793847962579788492883682484206534829121540622813886245706858307268057358220318369011365996188800346289946194629276137802369215811827386743239828358528349845219386045904647293073315959805778272422797667514845721207393710436377618065423740316278983345824276751826768240588719721435695880744993659924480895974125347056281955945675267708964174441099417400554761120728200191475152310102003078516103083073461396031452974750744572228448803308990425069676627414008033333602533616347405054464235654803969940960331860154901079525800608399496844861738259126691017530115172977113815661390465740358650789583100691955816534015163691107074534808507221015631256583044358797425323063230891102139181051059521460634615737130076024845933483335752047912672922886532541616735727658867118359157649225192206072738049151820178196387833609662656418826646181552312090139668818129005631284752949116673957063144889162855695161736821368954026433224962171182408010808942117394023014473922267654074247501868017587156947879272270669589251628195265604726637105869952070657330907013664051607437422202398783166837049526137452795989248776626307788944890015987205004331833644814044754709171568261614688334992341045427498357361616334098950570759566408064875038696239187619341515224255777125771008344989635396569836993562174560152852473178234414118283959986611807824542314383550008578304432932290967007814691202652987173139704967619769059644462501072997363633144570552141617676396125087268305867425, 13202610768813821943011448586167636508643734368374028888241232188725686969781313828919521976913705624389581483115348239296944520088401866068087458858650659378547775513595546022404605970962893562355636222157869397500541685354982883997905119942153997431606167416463529897905011857694180575033218066813436834141163735962474759244968917512330177192153891941792769223457031353545864559429835538578258477222728724227759547964844895333269238206884495681252509647793554359589594795569028372122943169983038070219020627095054499917913306678069430774977513024575190035689921024874834031311246481468221514046463168811485575168203555545753779882510866734905205799468308999081943289894296964184424511969021481010055572443985083051400964151375028582661766150647440059808533308606236131321313210423638662918480173567827285492910840177325967245429296061913801066883747426767567063928990345480203979809574473415368382804909782066318284741490336024106489706671955741522687773338481121872118936007549882895340823027006885146046392723459420970337146397016585003914592291390313029805512515407054772974270913103308058837685404608754515189338556876618955715663088222321055119265266661800311582659966234173086248372021332418699623563419444827078464000411378489517144036870723270839774651887729442491469209059463100177125636362860786947960186393223936710407333724696977594713825671074473887385898359494668453163190794856894899369139509966122579013034907407566012939988593398078470942817559891365698345200703858288207642609612766660931242925495228838648274831918467537279935973311618069466625144208996491082849651197111236616356879836105767217575798433538195302215076201337225840123616004175517704938051899497787648693975636801160721830975623669366221184619075427146501847484951642660468263854107445820582756163056581004198499458533008749716004432646452655059495330469358041005313697587025406041008538246943189986796098494084279913373497596088691135016266526178111973124102890338315652097095391783022772886469116195406683493253184100456734932433495224085362105662642547850331951721586895533034519764940232344383796525843411238928531085720895805065866478664367470613529849036633881265929605489669828497328715821255458959093040562665887614323974426006500760128490592298452441928738109988141728134247158509812220305165211505284664846642152597951408403340003251997078487589995884058575827213151119198980457422240292512969921746711086013753454640618686684861045943374697433700853267215046010063198492071133646162065530259658357838333891493221233556262844782782570369158652809997325097062846359735737703914328621480468065693401960699422293768368290294901278817970657095002372610531774477502741622960697890611091270813836812675504634158944107150569593302712753454967725649964614145249135187985451789467186752648930642453261564895630720111508565337554190352741255917089303236586958171540247848200943512620029846669300325175640403569691847320836870758536988211431617709713649099658679967639016380967966992095129058686008839860656255731078224395580374770919904547060523826852994323612992753203141759166597133033135680176788207940532590093102398980416221117808890422942963267050427086266214946263489696529789625642851210615495513733832966690323684292364754068521750053168263520060559744319993398250864633161955471250480210748655306888199128653690333886003673568850561683844852321303174157168502070475011952444249866212498671237661226690230876325844262175157436306316961517373006301121659022688862964568960546407403917925889765341770629784874784142414550232847216625916379404894873066912306060659742908918648337746174428098458594965231780359530840077710144623910562307452035391114973526836901554904412811219130388932038142289158344103376563405345978801658946637049809338087366661303333946342069235103982790122865508850138333488952821995521659630970754454610751787727939470499500445351124532627454233080824282206143644156404832795368813482185596255278129740380610359221263385599419667003936599967029882750897626783222139170968760759261544083218577838901635868596145551742839428396628493476963403190147093069112593236489315477039895497341142874150121638903855919475266374890247638978820485895888596933184981290989518806305888023529939602767466489098651621924614648448383215256236457875008633474565561850543496959975808816166516868152582033720121118296250459343483128448805828294258289572666834097750234023171652441093695022873032877750237950833609688352937083642696958143393053674996092924887620039518800895628058079781486191825072472728777546534086129730589088148693126259733725938583969874883984274649311652648247868806576383569999479749815248619889652045621287497847311560165637695765308446700905411398753768287477707881989582355807702488108852451146629815988551843880404930926702093708740260903094755572861214252960414144986871368803022279559754643605758437359173952410982992726059626694204596084535745635185322022689805152377566518172160132163538211111870073028777, 6166608038497786957835063074179716423209523332565187315188935829880094615084084076078135208920455557891480932689643976929426944687926401681836089202636328977363394580269851178881177126922499003335885360191489002765967834556315378586331535200034059491623684248908738661020533166690045206409180687895111844335273942118347450920003255906525920742629058011235470165270237195575660578343404398758348748799684021349158373117021356368960593512992346211500565328887984366191178608121281636786041325508733826994078419457227662194463715831049668415259184311563278474217611412872129574449424466081967991783511171673987888381905565758061574148829984765807182145562654383061254568713776040142480743622857879867888231131747280941970189450812466569690311772147904051199314367113919000475969922389478276463549494914504793126533458328745579917665737608718267541187143885198976547332093646861923166335154717269197094230564634510957602082293649545282208438308060649103587890304772773261615335067214206534239929060002018833675394099055969753240585366554227145101065539216461219605609104985262615838882724053292822501651964152818691504366043898974517008254639443042662232809781067069674813019432712438612773807881420608688325329374144801596771324563658314086364811607675332565297132143227160574192153902021122801515181573411972188632979347066490963675684787988765305820629794464713560212276813837425100423886416155342125280162625443392264838001992496200062102306141157310798260996448892050256922689309389423226123945523850895179204968436612805062141565585619031751076331428057328450556923920109946617909515304965882774136091245044477391362803549834345397169811249570856389183170955875370344452594673892086311159417997874881486567611664297607874520376350638609559758306307461525195633923743976600916397520582791098254321484385019621855028571054224737860452982435599912885123702247747271193276625626331940856906025469842706844352651524731503275353310272825484058381558481809107233547551897344586717816523211550830544252274069457852005278202452468909201387107472990814269097264451905727749311978270801310083583045896989647711575015441332002880542605950867293400349618774393375293882400799699536552130447730193602491560489345309271925458412120955743418499893650843783061364884896570560116432617838553854837039284001276323911541764601803434470737952231055548279860434219252268348965672769533019817879226089291872860192886326849111306951002104310218966533139699402078629736782294745151239157033393512130428366219084028389886023764677607954004885227179598971332831286323239708186759886413061914383226889791437236537931282330481926317878138514780896310192673316449493245497039834423820490598653714626434534444093455423956730386749504279184026675432660752129531230914863822961524344678132637558731867821022094924280959310603879722106999145102933800256366765949610921205393975248671692485041849773894644553854648053602420329157822373512233833348948090381931140896918085989359050331122152170482995376341093030429980443929895873815711621886781340159555273534279205101790234417967428474717920998336800607092598596537125630541203879256999090710790590874492854883697171736540259025937735262275900722110290257617564312340133202832218142332909674186289642657515613538165935323830754594092175109056873058213732368806292051693753681354444343450166726927769390981450381450297195939792717454260468979050963925236534862346066601198699477541633124140473673383002992726778305309026221987329036521935907693008125790270613487831104170353642519932212760585603061070054849812634734536620705543588524515586095753640140409759540422471070165883360923696805609900649716548469706438590203337156213763775076165504528852981861061560822151024061552426146390075267972615219575813862002385600755914475074440638589074520220112988319046664966293920122031700344914744490026703584908251594932821240832859930836311418989546873693238986534987574292300799263186580056984303060860886277207421567409634288320045984878194654187441843084394287719499164078958487570421432829384476724156601500596269046077850638290763760205474624801827696881484067647432148965764095114035348772526306839440658188947228981069170995368137006410723145268661833392864436347031593811728861738914248498461231751637265302363815142961338032116034203673943828816473644500730650357245084818709718054802971274897273408806351410246716026527015088851176527238534273011923977303424317643073545554558282249551220326989275882490076140564096838697456993997150012933300207841973900821220465283564097043221441061383852621473604925364869882833464072284177198855445245924184123738564234986036166741449157595693801688151106812522125909970176019727700854399978421815712242783842286856201643441191484794396999754515902126518536164963235497802123411600300172245258426085388421294375929879163512874823808185667874107304039305737054332865023092798871529238803404434755548347248175359294867456636600827275037789389122769516814941248470870442811, 1545380732820330681672270686687058972760679556777888725112839090328998052297148714518426172925460259995840004589434678791764879252126190474069532443879270203172940293191449790341364254101890461575430799550865648883075146977756995079871861887082813456550341064930087842914474881918658427756310563919185790004662235941309800512087656542934046717042040644578829725396580732416230937466210851431992997389902321228254823174064918574556149529901090031626000057204300226457441137014272650980337233875748861134649515449976154881983533204452696758967214480312943588069388941824521156465441020844456070943824599207616304753247435605701567800012645205169849963559682734823640358947769215684307322978011789840145325007134258491645874228509774695137065674562912134971589055243094951321213236287239017238091087871940164880051771769477754240614920070213004785860639239403776860583020888646072694287614424905230553057810952452487559897123594166105680976918343648746976082163911559532461038310371701515476405230611854854904024026584821860244677691900380686165796282729866489334303208031073542884369003711166329824675924939060916894263992980117422136908791502137985936133062462232411092327136165900756031574872532716637116615800268435916891961343732493842312642166510126179509324974920681337649420889375865267445081048510839389305217695798051125453300430267564897906185343929961975640498797720411570256019472894812443740285024376112616797824473434866535689931054710652446315822727704778949986789300779265239508221610154994879201734500344155247454707670648537297528795781721238259618941060413359070210157185934823385405071771064485282939949680063015577217880879854431412623557607206441638199857895128114728356627029955446259961006068127623285450767437063729101479822916693037947369857183856999062188980916072354984754529335002810338321543861529112014136198344907440153695743146454720688122662933463889095350590995612438308890102720104519786883863012819856851556656886835939797610233020857068994784840716305227002221094296167606960350674982810977158929206954744004955605634940684459747434593785554203963657222893542293643174598389154725242751934602917406362492840387157784130741384286699079170247054662275582448693533232197123871904214770192356499266902748065002862836546609115145408275900329744836842547504909211213369506997990208567522557782336555343255485491547771902496796438842370980227984014739140707725959945837193873709220822828848345952286668604818535921530442268994984639120255226205219593405541822052891714922809753914402120172172487039186968106429756996505324484566471627915232349024251308808811572558915982575929918175505768484828827814050810418173420068483664495354056082741957246085531523151798605037447241624682800243392535911481002223679710277992610768387200580102355855483189981246296865126065547551408955605571463597701565939943643867784418649242169881234117641557382753704748838690824416290787911210783281881014476287527763812585515659284827416256177608268825667607445568785972163053993570505746195601425727620093455316993314278223410375870864981246035594474871690682944822047573742777483676768062038288439941087443484283184645165658036425467295017307619641548662396544864540874748489416482195071086124113983172283779148991555835490353250600622882432365511178785174479431706794815727678976409020415733641485631671129433420079654549169296090829952296005404569121096602421300795203913393068924933537788396708868703486255313805806452464511960770180778470340625388551584340880336032664690641977176656478263473427344046023604840800995027834845820149835837481539765972426548304639555383416830663433202448526418878244413534126818598313713870875480570013452909624288631788365344140022644438216987715008432477092703253439869870849705993583026373881105152634747695453147585133436954891339575248746632120356295970469250410716063909162227682189765438292289482461162792517174660080248799412062252285476554470644421965147173886208647384095104381099396119315873391628631380359478036795049225290976570925512063885188267655102400672934560407464201745834479485457828831967306650188258986366100270892552029710055232606069889937913113805985643736978656056502607056231125876653298320813093605069269343558648787997525052509024377219400235488635418566604580190079770112110916313330735031495204793422965981130003790980323827880332144964289531922413170590056140407622933704252135101038661025281844140859000594235602419517059368016529531578127089790033327688411427716922550939282802378849907849906234682437789008568269589768201913369301603777711938471289913946914279206034063101950898063882628511914618794610687015975919934167014006453529406798362041469200324142939362293125403490852190302285895627871894049385513548950693764923629594595125289369445386511734415399776066512183639856166277168007554394498311338064897807640179597016120512605879230912556302498150832508813717910247122737130833161969208854554162629075167614452060170413749851442229951474008, 6434707170822840870288841896641177410730578989508358651405213951801327389741703650002935956352191362701238897362342578471398466128421466376163996935813611131448282144274503653661509338767736035114205555561830913095639492437290614789267697115267590408463119630937339296314876206029460684852292656852744977895186348862954001979137348499835027840626792205061876608386172044545964930047485360945795151730593869361824837106504107126044754303164794026089527286093000980624840674549524740040570223783958749162271301916293813012316313161314532734311022081761215878169382019677717555884680657715270303187339508398824126985000147757347904019904335971053580230029135845402555833122300155166453178958546131149753686191317160871670729868420491943956336378075906895399568089313213178182298579460771684276698976449489389895329117869514892347128781518281918724236490677463960261266555072320348493100513794108842833035217610811739008200793792571277229415501652497728701283446615876975644441310986087308916523498442392592066011187513325509238114144426655931431703525084073536795217798372929646114522106856608906381185234631868790944102998092984260815509585506309512156464827408509684780302704464800527777963985010357353883738754300983459677995597203538983534420661781305040977525886313219234030000733570642509232211733434664414316327298071404211115903235721483302369811972117448795857499758750937498378804525178072341804979932043179375643715711408836332165705350018936470497459457987042568456599429426536562089015495074936769492687980749517012916802470741423625161360554595687216879265043083053966439169248220915705288740655605617475758776109333973573203785901320664148914562785969686395959421893347131647937551115104949635658818303935048111158346789964574384063310426649346833662578663021612869285151217957818150431816731427360750835417162115395973874096228622413593037774930243998481988296284194426033663392721744974248718772830079734505398035603296217576309905909165679109324717228048628417650822168894494513765284690201565667403359565174631409750285951164158921390243381125202628790346266483113895275515016144137094409952555451754894893540786555818960358918784052639917665258732333321194960703631891021417719618664325050958936791895408493047235647378303638630181002546968085598895058163763025291861482841540300961239392278746905617790542900736170156762748687792254427517846966776702799551473031389351014159519803952705134362699467131033642137474264869753062302899433612121762348417109594029790724984075810696819159980253641192413231943856324391898425361034590179285695864303102773985452733923085047367609251963050771612739629860449945919379461561426396963723172816974736964833989647228482451096605720294218388143328323644134874147741287053132256086890949780963796086189771286625085447087632783426816170494231258883226090309274354612246654549276088912389118727522616349686245132250373941036581222507368249492331122327114788656258203830228713320785342789955283658587604838739484199016938129510375645244502034962985595005175375422075762065398775018829589519257094007648254202995468012605791237359224764043537176964108785995680209150629916469304619097657867857343111472381340111741226079125096445718808811808474565680145816323602940435498844956810784616587367032896737125530868634578548248172790211610692934095462059918486145500861120991389382858485686326727139818854688217730336671286870168796511773231767449533648389906858388968046876225550038921021282498876832151097718865281210280127568840965736070683389513133600132345013766444436474324916479063479270765738107834361609144926488202888022382259089466259609252793251573935547048748868333953851727815154741546783960245761871130012296515812179671226654540482232857496820367228998194745377650316711626637787120863618265416082287968317468727870898607712679041335145819848488288809951672552072375440984795873563109835950678259663902252637420070329211390970349265109342174906152504644145860988397222313068227533671264561795665518155989978713354021398710584879444504959413776944031846669345608017333731607813459622827528218113884439408014464574731845112897464600437519669908349154321485651461470426350683741721604364807272183831847823480497971980989287596288771709654381872484883162805634228716374095677228602050312078651819777410455054156895797814125383863931482453078628860866122966548105540620895144804188051182101740117987235539214959168970515455881342079298267088616072434215443657717851266783582438417242054092933590379998518989030197856999424292980707861826575217729762862098225827407952029929672857281232625626701550082323438549430681471620249168217998428069017170507250669699135993815748888794243304205639280845428739276571095362235886357973666268579983726133962916208610666360909368136438866712401939214263932670221779537462674008643496868127566412712718112613558873524751486061926686312525259266101159173252161099135335462786651483903555757303827028749853430243549412549505237413527621023, 8986993903958014267846929111330841871286158386350652475743418747510846692643997349885108072716387170752645029305985086560181571680488526748058761900668381842224457034703728280152610922093400238807356496441651269976074812673913655368016172274816949461625450220418970149223426374078871543318904314061238933413794693335329423022103782529670073288596978975945691866841672781850820483718144452002530878672564203079539724930369474034814463966005018241134087199702239473367296343910265003859502735197585825826906447664914597221559487852131993382123553532955144357715425612988435431252457370437682381166779194497342405726519699869446625142228722133160635186204964463607918218172591693087756132585749980464876524877941967849594223658802782550374661747211092203656251595630812772534248391712362950657927125533717397675165513616429791528016569180259784603080351554586030976248484488270780479315719783367452268331629969674275110273972514289107821094318648836228025833493145663278631369946988264392418668852209281032460187170444234359856238526044298902139189597316720184297914940022886302445608564839759055190414220542136052304073396945036857980895882918761668625668504238844823259917937553092047039804968722285735033900858444162005562196053735654024788727958777061015154197772104666425378911604345038942587238301364514281508953882406968206185408471392795458746174810317006710475975229804416017112117845851783856234837089346545908320219983841389109019097807832541581952921733081819357686966481769175742266798313058549109297523263784861669730553331691961157311924002674554727455764157440926166259237687888650800600238683466936655184328952178561267577017917641093689116062914852530014245773727309280095235193209276277762161952553953438100873689304768611872390588232073484353093218064707423346504068441165930292833915939092555549927258736424421195434765645981877072048520332124454728208195205635303177614900779066295433379332372951312293359669372492740259773310992388247905059158443110032170119406480195113654392763950121596307425584968257124545834087491092776127903828627366303405687284080299745806962444673019148751908448779693432363572056251204730267813177314807908029606876418786372331733188542772049218973153432912708983560025230591527318930797689582267401731177332900327696430634035715923937435663956452801635750629562914116285227707026480831909339396029805310367925157401526039978622754391550017392319739304245300454138396871421230702856470916546925398761520069222625161588665657916662701190185637126980702604823240274699287773337983173527031865693856996316204720765362854888515159059565080575048755148212539081884233524458479233575962323297394005686949475527369262377515468089303526115691523261171392193794017586588281112547472875925953712001703476429258870158325423144076322587725933695480151176071302661522370694762689329302858279232832757878315280236867904234917001971729726119811035922484700904396481390583719109505087530189766186617465531878357807747073817448769051382136787370326516607000779463909763330135935614591501767362906353005370235068498159770104021806468520412702297756906583448861086413959402717680286198253739637322541645481221365069416438914673792014176229801195283509255239840404241859229079880508465352212446269934414123126773076770138761831437636196890685912659773229053375797227464579382372730148365806009805966522766243499702790847381474491323439184875493445525662627230953961061395842629002266074279788376509913853303536395897222013387345999422195715587046686682689147246950292172393461050667317506034344845795987447725681380280482373893377078707901731587082463731769351559981949414478591336631096808172355574668815655122495737145331018027927077536011449545907377036773685789995196200013499412641242645944523476896105331667174026831268612460444876508466531684097299752805524494771888010364461131544144822076651958191061609659427735405256286542029661511739851301604020793821335831567479937384749376007678255092794821234552083545771741891666952895562947659562773956160555372700697129890707444746444098949511734363522591499078181212566589842901020000564139520330768161158160522113647527710737347461835868661062413497541597138089184253402471948114795395315048237573997525865590953669954971651382198357743128857376447934120145581663283019419891275255731552842869571922555577948942621089743932273621097940519833049455013973979201035873847434594858999208566451482249351433503225325294705131242533860662889280280246716592832242146155398311488026863836687879095765027850416983697841232582867882543558820965681520670098467166594518781294889478266583592432596779545212391488071769003815526529370352771146894930677213882926647762364176291638097551954347558211037968252560967523756019116704035349601527188285110952769145770686766987528223543255730534222025227996252714572765951788833093436373438687445207901816758944149059667495296490087204795170079433181096942941224563868672185139173831493341584194121979105626947314519329, 9024959913072175661347471832691406862517334471156945119759632712442767196450055792274239142014727722525847481650885438467894475706454783104622587261645778260415331522891184445030016135024431839134018677833534413243361997095083087375156429316283689604916088928045470422400679631503284078872001048406631949931482550344962930878176964020937817643320532521812624950569563033724302335599074356330857438066563268358117505859805816695226977057918073893039474546472172432886096662287775662928344272211804358250043311254429223701635304238094717249866263847928851834556625089703575012518978842048976209223363270152514928607696021167124936502983268884285473126996502174231999762975860575731180254837777450680977558672269927607313146116645831369094941032890457782656605531935215294936619791270534248244894649841560710928659331055977153004262023783144980919361382727034600898729700024053318538012306678494443917256917830476650582625130716638614665877377203769718132028571605345622320476329548278497676376883880768023612312977105696833806849728362121486483293259837322274797705258250911581005040597684811113852910326661933237036461875805527454087998673381333754825722691861523153650321553325981644608737929901258964410761371421038419849223691977965789162390776575778135100380612854531588640839775077718874893741966138847604627110293729707927343357058170946759332797877826723487446680349991594599176646022752367314216342963143520167708025718896591077390685275137730961300521212569756726975192788602705408878281345295261915221923794057401841447659558210731208535387576061929832332306749579682803999894083748326016557469838276013906839148076146754534620253213449491012852820554532299070181948226347918403351927971366740411128408546024554959840991130796451487264369926154866619223782600311409151121262058636100635371092875299912254377727307174964617027018078745437470239839797409894178268037654774497117128126384556638995471320829189853763226181021657778446358672854157762173986122091741290747854417164096887778833866820933901480321898265639695345148810366646664021753295564197454304415489945178772119868609353108229202178991376747399859159607459475073507089666726299051475914959681687712695995337802253103569513078964447777631277229881674051411224084240936073086121538635981619278508707294628970832566678213371766266954338805172177405215566933749325137667323868011504458260545127618107864936463282202456843782454921237312654997307588192031679674132168615462164467951227054441771016700476847324838346892611019244253138266899129517074221130772041601592620878613498276161948529718289982038345410110163046030303630028231127227415922956592767597802940156777110180506515095871385944581528468645931889605236894384071479590470975548758645277535213963051201080687344778269587869189255132463881653036922684421839364462539404631992699709647372582046811058676344128604000236230328500202706976345079574606014533226746573929206120827199498466739151416100540825338756111409230674709325105507195833568522105403361045330217390671548842230803187865047555972511685446256230711269095998197072180520759763713620047957682525059280563929703849429331678283225712111802122567152994719369229837148889184597392730518328848891201373430545346236112978679308539333719350871557666583684410713736087694671237575749062899279551004966564575794619265664528776729882661133434488726330722234921816100043700820240222121843689530718961640485019586361168513897202653567878775679212739705635739851153657356398816319098366876343396678273980448987461581892167270272384164060633318410760174433782436137255725936737180168943382088232973083550920744783237417399851981345215504436219744415185226957765600233498404132361796887908985269048399350030081003515903589807636715595947912272924874436546302403643722721681451694651829316401313722802885114261855040249082252002671070542420144973274184087979710817014908423884569268689780105789762858048531046143329921607312623727013011207241233320992586677777266470562776714716063111528247523527456128932090660861127737758451303945629052109117187703626854711337975995092274451899269783980714781557970509100772663693973204600633327215889804246286268381566439311137517574659580740878855510090701396325150531009301263323003727220525906748967285762043046306243534005019139519377729838180703615503653735067968344762149747276588363887219765396420611215050687230253000748521949725142207408383155486187556247259081834454342161208860644645511624425486380130952130600429488475784264300051415773198961694225007011417957917167609629995528850281909363116784874191372948130670125185462640755083460524710215134922764011990837817374155915208316503684417766181638728843008116287828956842548526733069939886361188084999635256132902748088223582652928620314938306536562851250107709325578146253118618051774230522958978239568431558178203935377057667260319348311484022179148147368466535116200264197810991180850470308478590753703988391980960006857136945751776973830851175016700, 9000199197133735084512652498475939010341145255455336519795502268524205395178936889703882240681515413183158741421060463745214651061640107470487979944602382040567696078767878949832948319695003804947747068846135793331353770496578135862328639127215965565162455221362054915015786353624755456448123034240526865027918257879936019799846888226138489542911564265613175880905393435212060144646093480582965246487656671800228451439068267284525075363220706534172329022614813995349298867500463686255441349311700358190760398997060593459260319293381303292458844213791960064431157688316433027991086417623812400893649750517763210861947292652782633257743850046021481885682882510008213878806352533658107145643608934406253594182350933686062970036123196894805729322729029015957634721472205306758409208711013239815021420743612292827353592810633538116058819890299439569185509879796322348305771904062802464144780697797649841570542489331544487264836220994277574101269238905163296460311918764736253193853353137865501789106478082644514856680519497944188470614939577605292165645448628488735572907563825991588886679987206655187464490142107584604117793358355704851876812788077013790441791682493984419209391453793015331889308371700716948875442330991674051595848579478661560457887514046833220618378262729015540283440976918775519724343976156132928693966713450768564808760641699275098229889289693294885378432912855938801413658694666331235498689655783945884384388400085239050060765610827059946686637863992393748714214162297059684622309854820288631673021196760532858928419013839264879443689237499067980864101346436630834532207178770420359345829768922625008369726834844495439288739306995320974516283041851687891984517495201217302506841504956948883600074314344984241064116385883498545295487684552442266500828173699601475463150921952013529602560242884128193719634348948387896227503100177685732764033867369548952316096881954272691276762899636328930255239757753944539512014522397545625809599458687632084450737236564967794877435443916940165530425763322554936494285672117507174081032658191742543321530041542502961241362412917899983326900951869024404467287041557418274932030897984971073021087245473387451701956253291484320932633317743350865226375421929692537143026259617093286402019171802528037706011449922485790545237854852590026210559487306426522503446221526060087702669948714871022220716476013210705500064880587082115000584217274678928608161476933626327096480578319576236715582495312177363751084782604894605499756090846990122402874216388398226286789891882727161895886336364084671860987411296513292526582857183824497479331743710364099999929861498726507697694051433293893875486718146271349554950383509026831790725023914254645434573424779802783436501528098328522685808866431329587566955733188454385345543214429895500152623795335713690056028835097188654648421115227220534524107965426018062945133740595012050197068528577190791908765958114460544029555711296288261031342962487375729108218962886178938672677962782567999034843856257069824774115364715542219306195050800877943350987161398700886027378812888081251238588458785252059691954276666116297891701912835692234764765877087101043513024610568943386009760040426418505762936628096554204130124175462786239477225975913279770331820442854473184672408704052196966792630563895100267329246615034094619800507970396182605712719938538869736823117128707957016734262483317073782219115328376676382272375655637098069784928601480657540516306346080101612394491042184078006409051570474399161164787874272467122093107747271616564507191400871315004745512244556196224352322340561141624350535885349461984083709969014866167272881788452954902310398230630303466683109179094807061126517477556440357544931794864219284538468832182338925686949701098839653628507626871025344089183560268188506549140369601305790898787678392263077769757002046204343044428978110014704036842095550279562295906089869424560951886494758805271601489679493250903765033680100913138021827219619648748332184799751562419350745421523480541728785304380824528954145098891237710472625976001626181226655153787223482434249208423064620142842341610899215485330840212686954974011068609111410073047807419497592552862476791608229074634095271221178828657569060774980807221255155058670176829620518666995281034600021489382634535511698563087274572650883629300906795531102663004101311819131070782876110029216171371157347637938744661908475406514203460846034374676300321717388384053112673244683983934385771327583108456131727058146566528730800091038544468207024203910940768881839502441148947946723111598109926191936671257331003644654868006867692502061131230146532573002385196887282950391401607887178000067271450391610532391531185108720607025178681926429596749758807318449386864357280339943061446625876744477551391412430853325206583752239225726851334975740432868062358413030096493608917262275162026436611555342740668681880150069177611004340896880536333555096117783022253824376610883107552396766418124466937028, 222806013537234605070335565827280505827381394393386118323934827033892798856095775442127084216025303576738437284523932096790267634553921020637790355140648230875429283614587161273924723345134485275928615617836137797762373398138569193421678539883842772146156129320515466251619784641521360728241849483466473943843539463725270431926198720711256011161418772021655129812063933402497245074997298779600098965167880312460106358268099258444851869448056845962709698092991251779789790756836007735456029133322658008539673464256556630821476393859424955747793737473304012752162846931238454064902593116154317550736868224978428159808894817712226683793640907171726016575828612814258408045376336733806964091916817959276189096678020110259948113032307981142178072569296163505006915616785319085318972924832550574220284333571020695535700220849158039806103346994594674321809569065514976233211742062711346994870861593229206575936190125406114101642255603405569908987711964942629431637023268297986488668364358515317056868297089812924050141079450042631889260648894344483949386037164037846799362595413075662858852564340703144019587687681973936130987761894552504675669901897926491758666329599803528067699372266322720989807119716596713414114444189000406680473204101313397146186780647183803006887437001160933422868253943880778436445063765677356231030299911033942322564897548323856201433300374131422313637458690113051528845098579205130222292598270730883612152374206520050183679166708709629752289582013178104139992442324270805632090307269081948864537660898347348343623210924541954227230838466970551794976215291501176086096975359171418821970728410828042197181863553131569145012860127802170069272679300671552701413509183272571774105544569903252085817956918526844167286349617827425875294890339552110935781390920683787027273485942107627667978011490609775464565757602566417724770828610671755474937328713059940630505058254998576860024510493694800361988177698858716578700868473297198945956353442915044751734949820663774316384100796656130974505326427937868917923588277594505231020195981839545002664566082167657069996082713591931785792020269324255752019551155818233545074359544401107586919313920344665270498522709029524397232138032942574170349201102035339166183885647367460496108097466607125290307852558814902500678691727716222546967239518069416317415529902088653961984504976820412102601658200107401229155134358587451752213980713027297752806097665636411839627382687223809412257741164354825420434333564340957031327697869497098754914429613690567374178222832964241396015975737458248138032617455926189049672518884470749376533121253732880795309569530580835570593073101346168654271452004189378301855889178996865197694714179018743703599440459108113194180280158968152923371785461927964601651965063898651288625386009529042695731901018703563312069311280938899051803366059596251115198541765846568158530798073950814677137937451408083879434920232641170332183060716413734812328030939661364090746287206762789498144985257998127364545146247666087722176558006587694934579348477875673764209918901727010036838987849783086770178163044106022378343204645534174857370776968768826311101558493667095632090117808397312775592920842619003915161987554451617575638112518235294327502529028833589605243022866451723643470681705853442224959673014751053347443660481465322492679948432696019547380598889501277858822354505679148383272060567864280447567873312014893769100869900364919859364859346784354140341778444277523005089393780455399966484998628629315385582155419879270910167870560062025991982908175847411183873450440685396973069835307302001180906101286856412470953845916717736663733051912170979008354285905238805439292405389701035992250213376716470583723148129432336859036959114711907907660345051615125826348825685510739044144223790358134372527204409223618795431543054006667770639393294705263433724403073356086063461224554265627681301218009249699837940374039333685022907709984609052085186470235961147576817165430867566401188868958936219869941877984588949111868110079320725786145348094498067194346138578117061677514666070227605533806398985119514921015170747270784906672730616093856298788217575713043145230990661547392559370580332424932502614122167909028107923932026961485110109851509784615936431886068120714566609948554359570336182814855564624924746461425873878690148825356883044319113448420584211485723276231229116538933021631827299739875751541471287014935414876229477082969662619427441128733175710393256787325620483393129899633991836218295947944403420538500700011472372624078756986152031304012387005523716005407899499272740547201968995396801785297122415299480897417239275658700263908359434337809756790145505347660304874238164525231933017309358259345449669798078636739817062465071630767775530953559384210891674792246722988062777606523417471421581957659456957567813965869310186107404770233098553156865936320339973022182798514789531102887592673267344374124162597362615049772286701671871797174090124054422976, 11339284174896303108503900417313887614616786361769837021932693672679122268971414961771084250669892339400493987721854078639154328126993333223628585519297020696455972530667843308804723506398182127417395819243772439144707220158746114774159478880287322348168157568854086353166849543319370657570601864827769425904288328110277240098396857490486033116307151679354867693962447228813314611557989695720525875579331856985719551353744337878428859707427781928595734927822494179152544632733301471315128261265800708043963856255386938232289870868349453121010062832765725231028695748614114581276229221914779790312670512822380784985879323106134189414740293384472218736426901269489273305307539476384065807128721016004823726375213761155867984927809450443919138092793973291724167330262091871035122091100199071705062953955730926795198866273827824175669320293166402973157615133212495812884958102235493584532161892760369963853554064732332340023220377521337934767334997851573263037457025793613325116604066102793674437925913960848908746540929925227705333617048510319012194653368832995156207381241292974113090630791476651184812936981949420755520874162300129879645786344128461937731943828560332061310782899351909763138092396624447780812106862465617660339759181451908312258741675293653799803611478689853205322394220808628144672582819526014353636310679812998862453134734999724605942914864380506128271283631257508965145663612723457162049919035036592511242427981464236016787226992122917754011615070714822722781190094045815320348357702254768602507276793673761350708430529850054541063100930482104865088715400366241513422461889735028759367383263259388003434252837294792630148989731343164671960079292074631659965383926773133288361874707409977187732420573974391022292800496514653995370404456122391511194861993410872711588055758385818902896534736529841653618677146963516383689845023107684765387349413199368537412155425082972631657847166722330068281058760920236616453307178197269607794475989247060162985344906528332427066508725007376590797449914621571579756590975559461975797511823646664320462990323692851151354673322734767721842626145450441010799569533183659252485289642099420273799560254190712142463875624657966931018766669176290264019766678684485277528958040180132414180216806167994195288639714494881322835176780448467814303591324255027206163154487739443270518297119325657554780375927627844184002978113454686529021706617973245456875220534773015537351954941674431322870374580165058725349048951607272681895243751175160938086855391169033006470497225123912252783793811806988636562549934426323721674908904713769656268362638307461254867913375682120036002602565334427755825336231279963266585748396300658262830341746534659292520233238135704630615265912159076471185053082447902934575524957117375361316423479571062167787268703714644904693046214933779001026211509171548292535770036740805654752780366590766842189580060842792184519837605078055794490998928386958454811797427676978651486432722786911304360433723904540701129262339225709414239838910557780631768742223482924508474371424864230429254090115082380291802789180869873710072225769139585928044713224310845821636855801841109327258093062114516275546489164922641409706794854950668531349161583216745640120758543389121081497128163485299436987914362424065671678182135506598082621138028918151665784984158871994803118995662349590204656934991046522173197787340088229793781429192006225284995106145735127852159478206046155385978779673862954832120689418020821183115848460842040089441794285141101464623276012611862270396999771063862744708893533017655306378865931702980769474767040796994106870974147218119883369004225614257238325670060155506673023525974058081696240270270527854146859122586191832151262932510299907318305571424135885061391893063598779659601839835620287992075398772787350897603177165566732032006644637651799646718687141197217135022773594756779779262612546680238056892046996211830406285072657462169094284662803816595416233061138972667399928772857234402249334527220370497434328722218719937064603881347230775913428901343681204371877945030910930531734735581538148336116905658450112419692875007126394490112070298744523720145091101466960177885012095062743127844421373857273829687687565330792792890581082490068032098094723230759132643931766030037242009252337039007402171313475167692476890228344375667359267548383855829990372618249426005471023149795326637614949463314210771677674226354847002907093850561191946780464199226898974390322485966056745957927394384127525799466709673919932950125737758384615472652147227074226405161439374418186940925848528566163859992987504259702284045367576151348636666023039749951856711793755039108544037018860013267686920603096698774410886662489779325643667505331322879809442117822484113000068866425221313022937579405105065270672266797011278703495919689125655232190055444992268783373460208859277106832884408247551233554556980689728721019083840456379229554832366432059068129849808444336451454623259846640, 3081313256527969493289706332666487970157028675885853859749437267919412518043629066030922534622475447611557520369447065548974724345194261811128962108076040435578170489131151516120677167546262260679824016252115451718684236428392114438779541699008244476094528321870266360425236807696030037467504926915582132773203225989611628210650465625432358492990991717746791727220515034864243686892503375159120285134701854741432425826581559739727730134696973048557550720536065622905915742097731485753394272186038873486024026655379321099846100019876749521818591234350891230128584448382764477142099368521125287810131447965560797338777707077946627617733290497116222071848281720543029088252477229222915665614611974941061574754264728741688165204200071519479830246951122171273970237961325467546514075293457269053183348616426825211373340532354734739251505441799614068536835449348780326616677131783477744915806781050483361924272088902045755709814292762541843695894675849919514251873326818142013596294145741348608146560888909812247010473565749426269650682465966223380202313086551252991742151660055948023688002024608375640695925637522011609889175064327144025880071658403805197042374548262372662363971301546741650928690675221471540035769778288663088517495882954532567419493463375972176078684233272083568402014130901330553378102256863558985530259603302671981301073496638758634945905663994960313228615232891166765793822384744467252276017334203459539365444444451760492842086564126723411059259750851859688606865767850819288764352644773764921975454514224437769559043248164165075723957213289397787478984758510076133831828373005088480867130814167805151333444622861516967796652385448543597764231014913660043393166113461443229567730930846340121323311334027152254127191801546971900802978619744197163084914985245087877347205185833975753438347537878834972623908474295500416478574225283232976285227925008184763921832300525847564445413253603633370758186809643447901641178276004993297648498561055868361538087662732711888093275079062089710004411969002211252698593212587286921107762128512419796864844603920666919144641225216682176242219143698366248629256902891971987158811982871716364681035574198041151361886587880873433203960364250890729144512200633187607935601048682447685798965006238058323052386756557372116169121340874022973691016339962035001500956197618929983432515761550867159261279108784393986176680219832541016846242730334832620947743733927386931898178363736922601617346100932333191755166003250282290362025671796705428037617275159246281875786308076247200204645992701809902605941863067478634808519233163271585523326012516280524689577949678639858530346537645267470618577698939335959474463043070940278702297798315093410229696344342211164250382235404145580993921919328307418920387198700909928280092581919203410998734676338702530686627519268820603123508068791640059864325383728335144555275725962528920664451737159512324246704940041301390748783914159493659534916273425713050707924112381862704099305216296661156921983634078441131467821421794327180548232575365375922350648151002560863846569738907785698504521529752132809632528254621791977198690210954423043706806481134469687342647076851127706156468830853350221214873128443779233102146426423092061016203187500941098638275049178585724113286800071855177669566639855973105420465190715201792840629193254369651180139754463680415822721152788596929217051258673631900395233574262412200487375344819288850234000090321764755817165845398728723179045947699816620610788377414303107855119692437463698112233931440984223642222434296715590089109562123663401742551186588874117585710803202816517539064591230049553703906176578764477347594045454076564339775065209530199091284267192671783492448437811883638627734911724501021927071001430977887399008678943807418637867289825715240730369689612181015806002344982309358506544564743930984902545052746802496853795361341348429458421151169320838361123729490327082513254519053594414904000073770214774319841499780846658569763239563388128974418702669978126281262911887547343388215548431663706832426029050421355708356137068926621482513840940678473008714240764606644844038578102344278994086844778514325081296771186219062318184589615813083942536653669498549837807602548915388479714670633015977066303252610769608683692123942120142486735310101134438895001037334143769961338034819802399206690679822755025118604039045758660364366083038995293587530124509732382857478563656920536582793876192880319669541702191735927926609074477696340863591844561333492918558313426096001658205327708501866229160080495891032402545958692967893430935426322696102042901654668503757732533253426644083634377885528398268846540426524149467661817423860338301818798062563843390252056380110399530667450489223998610809946140069349199631342088945478936031548323600166354655770652211687820307196305161758338768316697589057605960486882310935736106541080007967063672206107124560916965164051976656985050691138101180494062576005352120195076588008728803, 209355743191912703997076045977156921025414894774918112067256950004184802872127365031712535812844071948810671057935632059470478516201184111913064808701476075641139825915491016912249101635312035460922890442191177353497151422399263905075805561888005686077751227304323800584819278122442082331441553090557815460694943975366405368104992461323474663072584936145362880120245489456480066642333598501659281314857719785331469734070860728979654292643045467844357114044548020587085384358424026153860468041916972108131020764035992533543988483456998247562982502420115079076045352804121938446766098514132657609667573496052726624744925514595677070183628257694802037947408944092721287729232616090693960163872372944714881075367794643536300315466669679550285784462298260592599089442213369702380683548206621248563923125989784016579839557045889123649880444401581806879051006841352794298595952419916627100120676315232023449461095322888612596829634509201370138698137640512791506030921617473982421537468263937415509999838286227334596191561946446657801533750086889534873984370478523503975568470412927242936849923353264046122629209336553913552681821933158556415813276800217006686477232537427315685906162902268398451615689797365823470492743533322284470983528460633740105640688719905472298371881245704838103417584897025744546025530185325688463623333311986206845686247182258772984187513597266641920293892451390503013048455091777170111930075881849865498123948250930061521136873348215361658107629210267365665987186939479406885012667518160096397891120270834303375259923587817137509667520238314224474144830778467066104393543791153540769722065554007850928476236767146964081489620222817201812534215709449738501151223694666245377832182931454474775898543872395256869289522256510251441238848968237186457813967555487891116626561236283089136473630509455246622959366264621248443471153300893539248580191845947859993584452539603160498539431879821539028416268240525861971193146383301497574502056232462721609186723560053947226961366027325297058630214335573983152449399847486381637178424715666160815304469458569345948271718718489084121766773883548101500481347911627003878347607164019732196000785787590890372853644390168149947352432609921468237246899308698095486271974585041778368859355500816319685563229993885406214206491062208197290961073994275159794217934849081089693557325208180236949422338330214836163928559725573005184830596462315714578317319011633928789399560746948042792754574925138315073363655401536813434808394408354917245165383116459642919116680716616201723381065902420419663120223830915551813192498087876502338723486739925245807930260484570362626316645947017062052727107599567117295491785463127301404233449900833136074923421267811558878702728216490833080983225925996208703628187084777457426549890063638744701872144751590693055159960040112133960773023793063310455301227986453385717240321969498712595270723213720477255070490664840702498662921003940130567058022599154314508060575487280442413794747326384174303370426171998687278357688192747910203671461619528688266871167705589080777059129842204560473762310354679105359599866995927337946961576149770860683175222913510940618461285956223531702395997079076822835476806113928952254889395871441031891726102536554817022725277180250473245455027350712438236265869355318170527442906748029294480917268835804752514031010572745686113982201260650247526412604197647233406702855168632744559850674102337608532049006789001726872723750424895348618595313933239430467147554063233052667770872118956557207240108894559172972848798519510446429160818539254800789849801174930224734605211101853477248077178193819035280073947538458333584742121864235190682515754649069037293595339916314725738589038053916409467553083438852855564094121079705496978574400350723141837084822868013270803407686177886523530828732753007971215047868274564088585685870751570661049282556895671428907411387488168249951610462765103615122697735295849402211297035444436903460041438723857472651648792971880450210983424772814296387188618477631111958952223184959603162922658445851172321014372719063080286713353105002057067022222364413426507492210348632846121869839553106225165955847231881456599640450936637129880758778160047145999668852346038247886281258648087340741134823640711595506592163673832694339664603703329823163772794538494540673181813538286105953047552476494403058813756025580743673853309562370746436881227167935975433709458310326417049500577446855269778182210475715454575716382174436965262870781787324356266213433372332568927837336988910212398231871037194065172198280626916796391633001865870744691059450407453340985404848964447157835467520514647684053002223768523124069909020698729475165331860084485378913080618572969223124522038979229815634571679338451745764703528118562683126985303522510049303853039362102538108670776106883749577842135829100443375881536986819315955076761024043140777819472142555301088760355815121087792438269774435057690404726149187476444875714678085, 256855275480544788956401391718451933179326132769157599372111988346864757668221867072768936845771166835578259497514786617278221408922569764808988823836855316516973533643022195823126167659378452839270061737894547190538633876377713478658076883268337781518479089681574399664794900962014863626044856399773743743761998413240369685993598323216095977283423471636362038984118804654180340312709169772685237075719729124602981250206705877370237269184360268290746546763777822551337122005688454171143412002916504419709662662636645030836963425644092304037382121260390943636906055899419063994165613079002533146423733298168986481293270037281631379370985820638138548073218602195446190572314607386521701091638992941570732771512593757220071683614908113892077200933384260724967665134892581919403012394445791476698651554215924833939301603094138313132598834780850557389260503297738898406263821339370206486895382614051681234212962008322809719515107012363943143293533178165129789859879904309542743303191864222830314199996820622570585246014494750292872091681809709849768188722548277758759175469924454778345199504837084407781235652734839791458737703661029596289883291122760735506942337596861751170413213433926638815415172751045127237173826579863806505583440024311777957962288802129693935595760244190377329082085483587460991728770272422208423626165621407420467220529805893030886975769438181183933714379764766138162637475517521869072122747795733145325802609675044260776936301136119347426176973793139487688395738510309447259618879199101015706658049065011791830259859980555008476128184743112546157071941752950751440247540007581900808877144555511191271864395951022412298636399423834905153463740455577780285206120982538380940056654166692643946597628508224903087519294850603393815861659184508303864121831755392412303054971940625825909563691596458916305502259501909781656039245521802982470703212151789601397397295608695000668164307912018156425779991715142082546061895685021116284544737849546331641974616239038429294133112330994958857787156243420215266386106339599281996334893481721484903546992045022106617923111008471193564162761286028603786320929814370178238266540550922077224452317612436909072664643800020443150521968155075208205675471925181214575566028712344494910245863802563119197652638571511032779270273179497439539460626925995377174584678474911909153428760517388078318741634927411217952098734593980753581274142496858824874421597729603309377785453409368416541327056659990041973857423992220456006792878048832593653965613925618072755569905083847417764166510696748959089971036417448700625432860422630871733303339146554225130008518375918324899806963423660589510681263124990361837302168936024335063187490310623886115768210138887728619747881995427225582915851671731133183270744181785122452209677705405064707003067903020702705091366363618221117513291581871103739276394156718900193839856836027251902053212019087525154859157936289316572407400883746514693142817995211984470671916671348532115776039204253855102367089183080450528326338004295883726762681999402504597594760843067918370932740637255531180103178250394236639570362225225626436027357473692898188545084553518757780602599362083688753740398447605509003543395433559852541330739637418785375600733542417180874914983497445605003530300092618286502626637709336543723454474133270397584434798204802292766667651522947502979661047705770225730422216944534604285224550405606654969729681145092457715554580501798033023021019521691423259067820867597565044560271923170927741679455335460459936091694067645182027036538277988843241419164381078209504486440066043811466777244477082575850152527724931029687485353680275965989457396237004028602681424320577811445767489739437198947762561523323246742498647429007581535401412390781217311133517547535547790994898559364184436593551754493831620064131496235188818340940514553910673218493541136238925359833267012613265472314723460526203930015587029967173937446188328299992407117865801124437837214908841093779205954703164355570562213662756770142296712603255346909652508714638196471469402967926737840380310291004228399515873179933075259545311429908221650902999706128507829724242298211498030490425217618987545479433805938234592516588791951647694563524531929571099062045630859969181471527420318239502531924208812497320805494376135790512174047196279749972713265625582817655066478617518060400731022737691383968175578493040933549077138408980517434923074179019939926311517011669327718539834058049497354142391243850280206106152416382095399377152043328572776168884003639940705497568016277722270216317733953128119321946499276775449842490411033722898522631744872908120642330184149822364033013311777592176917408306839830029240699966542403419771165527285017486379159855220385714494070052302243681062811525944376525119030664151002855507888666847305620771318559978835624826299806560355644584032148360796072200119913602436134256980865473787506614634107230762141092587367324374259021933404042834003645062773467, 11447901625246735617674326288021858706175765153623588176558787332081633826681019661921649022870816470904610893727490371418442395136303799768025518691892622305492255507083113155487443063807373421656485435307858405328484260805191543528158806891517046682936306974430752879855143038698244714309247635009469689686579846770189004417880713607851463776314493622875658389800929258349990931350123158299577729018871747015599296977973019614056274426131415148533985113593091004495264265321142295600199601686694902360014698477987269637073147214755441318526787862190825524541521592661357077007899358328667893515050453501505453948296004662147552821573780967329715416172161644122412548239724062696607907516638559165354379471239835668859580366392297892182007045174183469208001193126817501848798069041317005819152154592443439109680695048900890386792342057995651068883145609889433498321961384116373354591378115779986686815808276294757160295880755433557299057611657803488196352854467566943908186583438679689146374991013778772106279018457533892898180693254939264358508337333516219836793649754708660350124798273684502056088998757548888870360312790888327279333192142580866650824034905418005169082863579346377936998368874605393751996360370849390927714630674652179001684079576930887280962441300298069242932823413663071626803592993706466898659087972923373053099931453811927548956726317220876022909692445419151483416369011479805674731811640423803434767839290299988580325594839155958813468587334141095091172448786148186282073606878050876403467599467052531228342084363641932608995975397399506842018623851005229737420761225775383197010701066352294579267955770850125815129962198879393360625899949338164475043049834660426481501463440419062085160337256831970220827768769082567751555408995413653465771636031916420383645927885018414252022177975175601660429797672942455148290763672583805189871160690316965122244653791948993264290840741532697998463229448966023593237687551462080024578256658779614484029472452559418886290434840803955887298367921646791810646417396193781908181498155192041062846200589057765796179958786217261118957283562655481997025863197440816610388256423813806018124252616464443658010082257456448133359641735266252258750812888926098570634777094579150258035876887292584048626442743028405335543044530405925633462024501988757405832298803776306694302832662331454917974403023641022494863606362014589721510192948286958208243797218833300426452382346113169221038823857358219531517946641209620916456823084295268947782348784069898016907332531956531157311376157994397748220496131643184694759935026629688019805176521667941675748101617888917506708829749823670591148578238927921545797713475078580300232916918489556350769118503477777847729701323854713979448022482903082887107866435139530753381772746586019720814844215680137549361313603607208875509937581376757800366936752875147232434439379075708553378113096291122301772554090173404921526847377030766542342671767445711768346408029614183257031019761085586211533747179393790981887685886047476431343979481178990098679168338712228400655936979892130057918675032164713250663995107983732141603382305900819986976984760186628385201191719271099670554767101447010825105937427684409658624119562031079833088476072444960705751153790799576719353647589238507945865673491278805983746896575817026373433970192356939197260482218992670622517771991751951659141503212547476897475663821194486331785698017766433686392943916529025575284071804893634524835084780498196644178925758467979493648901951701594709434260201138600193579822884726719707187460610816241755551121727442886279985873777867409003011825687118724735954818365698398705673595404561226093766731728416687254198328867247883689711718764143897507806503064360237749253549459335341943148950438668839423638895035809245078080510178592913618922998891340098095033083853112839427363464999611030596687864527821614207562014940350534143982682013337692488923694015234860890292713771569499202626558732214139978988118136887972180639545838408970194969233411560736600672944832975694498867468202420279497389202861469047640161619476543985726889072486230817445729422537001828829621237706194221565932106338158813353680672010239163685443453044714190939603124484351035516836694445027179362807547083329402043362149606679448003365890670894964695802905444560572772553273541716500451274148054296974933106281595593803314106103569435554445476053710066913413283775659622676445861099801743445227066806592460227624603445872297839829251551748287608882923708214471714036911624597757344737881700115165124210197143389687591908640433063313131327774868278076412841138688964819077332391238261094155784294247362829124374698328528715717568533942239765925228069436784675539727246296808893410103403096754138195001467219005243248814456110061605730310507009284373610785398098870709723132084727387845000085089187560835035652050930878528889950420404196129252606156348320173315664384476535639247324887007530050333327330792895737132, 12473225653198357050403351403360224395542722941819565443683394736267962715094816336675153830801631390046125827375251195056002566877817509176614034070238040461128383103262776384061566901448188195108750977029065584128795648941845931189220349607681871030699385270889912383141833784318502433673618006315593753220584382641230071666942730392454087923900217689392967450040688564020588374366880428073731402637525783019012708714532390339374441843818596021199562431310108965188223887416316443543920968751465083773068521716245040087889847849637524190094749280680405509287807645158185184247771851423921193379298833854273206200029081967198581727151100890425471103296621083856418656078868466545470649458342960896133658888542334273609368286704914182376755803904372506311931179038589561448930695716150917998639278169735495852841840269239019434140165295339001852789264118435512166382090240702600736813620930367933359889988062229867074019231129326791414577136355069748968957580834403824497725486991667597259682787739654160043020745425691804125945865164755618183315929908710654278215674586652993355001442365573007523883499340939779450696753929811981476577151602571696461706024642986984953740340020985868692306867549830977590532032496315455584707999016271062769801879260145587525968624352493010851424157051903856057755655283238403767787351554809124807265299673922768845101092168644673605259301158110146009717499811371215254442770037908028190421074122315344045484651344724200180348276623276894497654689711178072167698189935001784103905471917604424638597740673877014003640258844883152606041445555010238672997254347872386381621775573162459993244829757940010141798291317235627929995800595656245727859377441214483242847856320747338840000092113328782368770970235057192795865512958355806381389821463317624835665090281608027687509355789518234241318380909807524359853881338218861827071734910698992433587605202909395634709863830001081704839448719600493817640613795197032967428623618100988023071588482783756034646732334206554321041509292252022466603007223433954978468054825861957962801275964962401174411405044841116103423529581182566902916736240876108724602170572542821718296494085957329524835946735043353826730810684720053873992340602823737723136358300050986150667794311663457817571036433195685947415620360965369142026604294398891512209924337054523672019180181092132008225353820413818260325362082158028168140327796297974322227032031465435984533335521880246594710601208658145859900221675572312643970496020709684490125506674247253577447770893897793349125055679480074661422783983016007273329013565837950134502418312236506328594333424488239969223206077352503582846377147351622942945365980207996116066355317433276622273938232821007174493920207937467322674257772318522029065687535094334467560278016599084754904119716095778949882027814632803873087700495204953385899521007260910089615817022350223027980398999954288356072066446771052378431136238138904876176218502380827534198268835552545707983439395351626133796039325310375530168803347571904522233809137829154991397711549777162584422883238390032542917029652668893059289162435389285397917610594585320592060288944238433440819019236241563303605686333353015681218868331576322993806523897248055586307994340545087319235515782113887359470129911740539163959637762764758906463730594723416343183455212740295715385925604665657850131192421525542811339184666252424093324920970398898742985298288035906953424891467473672703614616144144350020901591444606236938555626730872577572838807179108248821123693680819756703552921206721202057507472249285215899960814700672885751154187970102824560838685510304433404273897703127440043801087915471898283895646633035410174749122371324064723112131567360705103449798872000670859816555925380241243093562541061293769893263649818120777578783890522998760092986675226299693023278361057435891107303526505736070172733144362797786286866030283627683062451849182178685979573706836045140681148761441756505309766028811272158034208034426366822655513209239029825473234867895045213843994525077342870507659846669035678488765153564311336504029968389106949989010288822071045636114873835680902718814884260220365020654963291139431048561088429014273552968807323197941813864724795295364810235686160315104718813234970265232101650241978419047366882585280383344730386494731671225108124123429698021777336984832611089882232093734234027371516487440452691240859869118385348603981069102807435569487234045726217521189840656772829025911980276693212914976761558944425102585725622186774014325415923863177695949265579496224162174786094778359029516689869173898340354352424013254591099494082756593211207132777404567490478469844006828988840866317440312785888309325110238162521849397074988391587286551907257317024406267368853413151013308606910619240114848922588741484267265019606550158356336554664538789197538312221424194452208517186221372680333304052035879073996121216664467234544971607498808056330665402268283592198427307128169825521297, 12670903494411149645295414675637167512794168975181419465779167709016408504143481497972120962939983218960750965396748085816947083995673824357066998546116621664022460332551878990426705381175337623339334035594236177089929443186491101920110395633653165943111744020241431080788113129681008838196828793726281357534031711897415608834628780229038795674972598605629751334802713599243420420402675196928203523693970683989646342069548749884351887968403476228055905574740895186388928312023534274200307836467667929004116722124648255024254153548293842104759818672668157720283633708388278951787872718081151836009987795079261124521075823302579638111186633368029644560793341625453452433668799626222256940689845964156081371055210889481161321396336324269304064835312270767430437760317410406016137956549534516157785663306023856310042922851687894213160701001410025804359432317262003624664387071306069962601899815189294914165499439763482335226628315491885903364286550662643426612134244402914686145332000600904597125754251245196207737350608383355784654508794566087463533373964807047043605366886395652274431969552793249809892434325586355447839670108017397711640469029441986468543270522885566081205744557284532213514665324500617884576409470972720110601718934268820333657296786284937921651920266962410232061304240280634448689639413206691074434160493821817315462125236213951114954303573267495473085725757118978564943026113548486023405803510588306215150111417784631992911476342526475385117195299043625063506993562957572701061568158960767065018710418992727945469696296294437231429177071116674355301029776784031038511181096603273317248291048501384761398230379254753320181904038957529731318626676208160024872033451141826400766983311289707314297405793020428425343236892729839623841216446847551156704512767038480900472298201416833922072149629115338102537203128725520068242837174787037468788412135117586526765849543616713154772973807751867395192016134444971695198074503364275900093224079595299932405288827519436709677338781749718466673274078183456869175711938823136527092411082849465708618433677276164672629153310808707978839599393280053381180103227391015987766741939822132617932224847111150631415495566814714221298328490347446575127331408878912715583346743321220403752925637505249226435577663883153572408268842348983955195889218362344968087911817597591475538341665686320499850670104915316530468064097035966900290340113196356785707908014838112009936131475464217153586374451136173549601970064393239434941193941406995080798323090448596387352867503240841786884241987910737924655054766527178292409014246601931530851998732851675488335966778682145728527048598003283580715861320926406885329035613626917384520743001834297849226893522074516641482868718419628152237900411063504331875352507815510389359647148261938944085153710713077089011505822747970416889304555299290894376170686115213676675575865829398175245813759466096590722784914351246489648993488878785942860433751345126052088741406306589307898250714344961748271626153175252996583594138222278833232973006618247335967116177659097936930135168033382474299406679190515160119282994851564273157367019647125307485168846708109638208215291770205992290679071490554369474943545607173005381563957432144612722756921729912180712837044597373246739828732845253239486543127768069676115635356619503026247171353724480157949157229090749287167336152563552653251215379124707707583622989034897348170145421060876850890309229632744584209362674567793525936305268500266256035708673676608853554876499678093272314688699859412798982138472638460784525027634750193216333822127784437335253681577267888870440472504666526435408270833720593446108561934971778476601537770525754195472373333600043643330920909772362586801003176237323915570228110757213455245468992532719480407441034019814650711630340990248784205566791753341090552108078747188669763406612530107881354913645539942994855223525281728110642341945976365643111641003034773001855255358994170811391068947149405154516939521676912486662502528529043906492892467530951700215634239232931305912501032255348644105827306489632634605466408834665191529315869569590441029421623331664749524910509676252328618922169861672047371484930994807545001101767940968158170446688935832156629928085684217219337658981515770027805057918920805068620795215945718179539010590626403095328006733306494656804236223276530513694238213371611873962733824176037588444698238801049908407682254578709491977395136463534119224564040310650928044771015570874520592078996389208454642631731057259558745619513844703585475060636186740409334343786573459639948952386112157946213784442416384398517931839335975906592515680095070221481353529858616608414204997345391346628116528130287117739867390634787709570423626674769312444870645188796443150770687860115292806076644231127994868421254862616117090746375154741442007454271912385433708620225088339912809357526384737567425522763254220503127726177103946659003580524968609615885090528207233246130011081163850, 6679714252671380730670273488548356249251056719531530794358562733078752389695604165545479106445949625255624116484266914204286241401096642215656298512038155711056716988281045117976246865414843718417770158469687909185202874223026777074864084057556910695464472060102302238085855364078866516181947395390239712492316906108353552912552742868473727659586408264298103707425567209991794967487471599166013867811943987027205335428417800883736311610556447572103697612478821767107068598967100746339645035930224235486815891065393081421215008164462382848213798554777983754548081939363582211462117716245051273867162661475011437899022553010043006613148510947008241207724107854332371971917378963268603026995465097061277873323617531116396222524926241571895582969597860261434514225982212668249261862787743018598319161708269423231330305175202654622115473113748174499682444297280769018109591564125573555298018358185146368319755800846578141358578467432103871623880057641921108883494975820686354888600224912279113351293462089305565879138636695717446587553503576495143099662714456177352479432196937989745118146373227555101079830850413479305236309704678433958285243541686986496570259314183487303902361215344090962892803580009876406084403889928954210343082541748145188339343537985550772701133317984795916088923127920430542013726211783457980307858373423913008833904552786214014487616516412957004450774384515616859608496585968885465197678622219648555421578473863084113277820575352053164030771616804776063529808617291369252173686399439023208499673565348796894241332237272543144393143478559327785628884077219015402920665413721721526157338984673320496813563324950279043015044698024900573424420467323280342570001362341717816496866116737472061810409416541067098647196441527152632101889820048602082865063759711336867381967443787829271416053615252035598692633534058371404705032220499168633456423257126905336966817053148418280299675235223207865710655615699567347746901552088939409357583731018508441095617298987950886515282720748508247794579044661121117958595560307105726117388805285828744309139414654948212114624375983006026389279915775510336482312972910934730597883594843217471674356747111917182357743603500693202244209567160683687114127672668486856769920421853085195817771732638901045962464726870121236151099067036941495666194974020509333085669196413403105441785144931609895558556218269278001160470223499403204472724464283037018040489821955741650680364772382513083340705956194565230883635954968463678393326352668969666935502723877031676661382061881821877488888658872384495179786243620311052263791244105618978381355403100139467351221470593234727314349999113585276917854044544594664254557312697350074427464878030552340290523127873799580695226610023772145927066900407158856359875670036388569445424169503848221308662786083508428039334088446308293550993296015935407712347253939435289471412585741004527706912111406859262855536614719644650168017697121345644337401104124917322581189803070448727219956653272695154641102030964375400733048622018603957060738496239733240515572346285678701726854877163451145197183162940284701066163677369747843246134810376158700425008641207990758792969698092056544072909061014781070922258502044164454536611211616310349920814725847098844110174793134742801079159048756325303371989782337559267512543773560241195562503302478794038453964687692774108684858320002095514708386285021767034403294189250099087142954658696259925588138056892421402685852649348268489525781622767795842362856351846738344072776202854076816467308576280821234950406861371143482378874647449083913622558196650329491313812591766532462257667291911663207818900560075583131420088647387174648541900112740017345617806028091631363845485256711223874294692598567301693242796823365315341894883830696895091555731863206296132346980568604509615364228696693671621862166137199950256630720504418154501868394155145861495499760647970706800606315621216380125091376025259893767594557648916593973135432674818412065519243147072907129045645814455558777172982162688670692143431616483793991644459473745830669674894169350829738383959138928835188440655478708671351283946813456551113626565089939566074577305573280288223925458968696295992033451281475910357140833589263902552792728725606028566245316372485778043652043973429678372223402870155144604954523934953237812064991926377584157989630867076455970044832653971411281930255923432546623024219171676182928028729910244289363874537950000057350319781712333076480571478651228591452665140500938331353180023142567753911319893870717795011803438886313427685792340137102335812435360771496975908808516613402213387300213780659915882535818051433699407226297981531102164030214559356269632077955425079765336559860822947890687306526631454279846373804916712455499755828894841880320705618545712112664943364086745774573112115532868745443365755437505709982969460041413282686634950400433544621970619891338701245064045128199336757344865080800443742764873751944945898406297763466952, 9252376221603184455690183419113068833996375204753216822432380990599961595903130302593805245427284728499090726366909695327317808092014389678998745269402334897340469673791232524611455118554148450219027236662396519856321847229601980030948637798070147184727149324144660028958465519801707141215671570820005475442425843216671114280815150128736170333447148006129083817331391328763631073515693721357369599471593227369178783055311952752659660274407584341623975625242160326297479503671757294919618730361480907729538349125800448880644593380009717673447325804070913769011242023588284136771763793569570782097383101376857031558170435763974005952317533842756289387676413955507694556818392871007158853488081707323668783555838239477831436349373991597907083074225662653587879126032635547062982838243395420394012118981997817978173974878640824883488563119854259062387720958287506620168753902282147767181446085361673416128481614039663449027501724409170899265645943263004958886153976714039340592665335053667227584458571018119781431087475780598813352245804698018809510129231628440606580255211290066128233733517646673119899340344785526403363201882597527456532027874785992603815667967283357154100544916973518473742305541885424152174803665500075372062583051986190522646624380080200429965202185590337532372112997779037943828123339618761452852467752845862207963073202571874991208467864613070452514787716585496250949492477603097355695970033958953582720660443000951851784540616230583441337251156556598508110412606499446085270877774590508652718367726270397014050645097394818275765169696032796605278873541449633649853003442105197393372191702758566677018754996793079434033998880168499415631835253361819469754411495570539773590421555322464290827449386631611276463814702895928994636521668508561570828634143227306282785756732038982898129456104762894985864441397316368847810026590757753324717200249694955692377607598524570977079307920511971469855906258491259540994200691236417436226445945203150151093940293475695821147780943194556945752513404745569577879348051374837213842008665897877082969888975627745840259455703777555899341045138900387626166280627975227363192340732682719290353212943023973803108638906109243502677642924274012621921850580475139524055498695954487362353469588001675653336090393808462312297713151788606442864302598424149173370224610453454458177522065248220992542176995781666222341651528117423746775553422789381147647179207703422493602251327777778066321568588978472319573026969101684835099603082048693264985808943716570062554461388063501599519769780993465089334909598787343803506181016393674750897534240549447609213076381414551167110435920498717223075485529635783677176503993805411202688697145497763178156803389959898291254499931184445882411989281566539441587677598561067997313709765434794587528097505616837695062196411457001208899057558531339183819172024096800191877434110093425017785318150284739657768967490104030083206633471008390965758882705871861097689537845405478887024292579357823648231183384669859347233973222540868698403608060094563955411050836741222150261634548885213571070988821656405014232503045861723167375683696363013632762546650867099313506061770575673074749073083330607736982828884096505730083718765801517581483985854254726703032020789889186835929605240069917401897574727010552247751071214204361857783218435403379661762396252126622299135537802198807546621219364617235868916472540885994026519108167822864548689118895089877513886833309567032772136928766602497033036733380990657953810508072589973447269604842504989554343561556663050779592875633810868326929334207027604879912311349820896974288336441619710214254951091593604812501832071131311543281375668027484366775449038769787449140409074820949239352651807270745187430888664215674073218413011454656883270123810527122580831669927620129199791181419789475588067561783606817198716342646069966424464344188465306697103769619465234354292788986158768351897742555505385957111781687347791641742066995234525759246592963459096286217831330454159172864370711641026358339724108479292949431608641479761324555843950313676050372770195347944697569680810226859724788299057186546137217331914346513244000450512536267336200523273552849051252783743100114884143641074382998818956095614320217271615740543968297448971246761642002123530952506092729793837951051784403833725967672376432446915622025507402394489770516422371310192094662974687923155565412242942457993549713297585583738554412710628667675999942442690172613775832942680587280775660142416070626518880704863532577340058098764282994460074277454654484658554634211190603158356190557320755134096793543832915825874383129947355186175682166671214717819310229154472579144451924325447348268980678755963580681534984834005567111900269696588075904586195869055294712899716723580574157111280844838025368944004725142948987508322214289906255533437870523616719563954129580836475422015239754502688484701142800123155981688595570572680945647408952760879298282068684631461824301, 8650524741186720682493775273391274889794072719075250958208378950359109785465448232843192615287350018817129725001222697804706395511371502961355708829932798951808891631799230773755880402176595251066539704466590633949782708649990336271050452490691522032670586596229392036288091808214990455125233210096848952825214616063501311956928149653872198902818178933346362041864243074693241071855754344171210077090928819866902955468547095055307935060181570483932969319882176543019950925074506715071776827924344574854401404581404238779035267765438720427313020593835260906358597165761003915101352505316746860562678331000211005827018023516334616061267793042972883102228874615693824988421781361258499307849343216406914384741705873390078761675224988345817492735965787411575205722407729733059331094421676999481094270763812128925338171560039025298489677454039227883783823360728448662033032697498509381368093855259556278640596336810954276074479601406002788832102918085051991198792402542457248162402405698827122456623186379520269775166033941547731915229229149686030066202072706987071601300696992681430562249794331879721427664767695374657691363515100103477262431678571119681257924371321333354818991794413091716233528773779499961237187100531494935610884797517434546849753692285124220190302940910061342976410564141784631438824039024744069692817634157776768822793501619210583177417648778864373145558191778899493854178638558096873631605064838019289750729385335306190300051740733373555836588653299712863918756293283686979188774023789523901018102051665368888607982236292837600013766088323681594039251234353110355775808424087638968459131644314807482569358345486574008463510295240877742897829000643312931847047404076589035553131708505206968524535377590311444349446519820490382024495632497290018737107531117494941346809170209637663316115100892725941611296651901990463685134234232190138287177324198194875487334095024700483246184527074293741338748617868808493704137066162357641299648485582126805475750847983794565457216885454156492658881529805664609382828738418272575271008989937226566788444021587060515860229432533006029655717046830715644480294557902053399485334168109279912593227034519024622867592898783255402586364613690340673986174187658781250733884587846668357240742518402603910261515221397234441770964628048866686323921462636169332868486721772392903301951192432308493012646684034584427817125314506807630648496742737256180095040510183606804032126822086886621743856938187972276806042029527151816711321111771677420157165105515348121563843226600667305728251961825778282415005885632858169364873396117444193538289680849016640967587373619493697728332057777400595239001051609849364791796719617394154189958218374742183900781295955238693148405984921677981085620145996522720587710206668565614804580918683438351662876291556199744140681122113492247359022657799767479697104504931446813651919862988566351385302102127004980402061472883149484898504712072960924944163486423409650972413852747301643718808737938232151949682027232076039999559231360426638767969240549699307010978665196101444442233953975104068666869846694144269866334930435098320669679615744995573995412733356463723449833779533308513121244170158338377089048376856370874573853501030158980706789884569534103772800529674841226198816484808962170981505459246947281423701048810646968194184249222963048101984271105303335094333441532925710937220074920292907174031198180564542249020525311493210031486092916232513362414037181380232055938709784602306075807905593590064258934970795264480432137003138325478637279530401095817491031107711663709765822067569498883404957811717785416036558884387793455694056562390698083440301183889551506443753746241294015900550101502993207480373728804844581471216348505273902044480369070723261773193363830252158656961377855520600537023053344716985416272219100925617092107382857055771127156437601580999729974355849959997577110300596468799531853847219412479047182507897156765360705969151481959181531582058849354554614282079615649080197465167318896498678084634432404671646107763208468826771594946186691927867699326802660863150517877908886469495232838223935313059613795299947455057958260098574008417838126359445503743051099133822232784963182563507092188694145745015006002801637127648408349289713190097214767460186368295881077344414220161866657659664823855109397379203556732661571082064938239715402710269171119402940923469181973035857705442796083560165030687027452586693004996656838754096311043552600184061478263025245169246273229792218785666671619431844919753734242154224099662751241054009295309784657367561158631920405282318552550991011455035706731647281769485054657209134701721535110328697834652746891381497500902232009456721581486483219620685111065400145720183265333027045638469678482751197240667147479709655215659846988187531129279211012229146036334086084564935032614979202991291751440923370826171925181745312542140562854833785359352579042569007974288473853856352122997693354039718810843523711523, 8514986468594128787053817245855190767961197901195727040156513841352869132891150109065032136259978312432832384439461203097276080275300464191376276566048343491335144294346281482311453825706366234401103372061533553033522659453648920171615535202299067073293240986682549157114502102694017871525727022259787614024273004436647723815318363586608507720739885706968602218541512413106517820287660061160640810388140241235518892388228164858339296401806350239634673363301526875330197707607431561417093067273950242825078798464369927951623054331686891572991901714787679265996704386754789081436359757140742934422446542201081731991606343439631653365444432906034902091474056606394070958053012459222488149020581039884867354090269938167954500440150381486717696177535481608402284429915768985748561845075761451883714118450896935855635208365925959582257770896929912846556494728852037845010311107289399241896003419212788455131202095463926626967191576960469978030383379226699349528043044055979012871509677520326183759107464522079468850382121551406275481008086201751182777328445817764267636940210140660030204382491804794925581096295972255922853425649453787054090886585036640841787367926927463484242264241542363449591386541689438610976862550461636864342046174464520051933225019288104383248642166369501011447076674973232270994846457838541585716087444749422987173001842592436479308517730113787699370615377755916699152231126472141363497687906469354656251818948421735896837445500663048326416273480051059970951166457815454307578885383224408885538337848141561301812698249231466364535960106412542082979047268635296805672038007510526169083212610152131099666800577206943964486201223021189671250025979854813089652024241728460916677888655155562809077159414457205714887367782848972550312391807769223548180079763001941726478622342016095524116813613386316499060474864141280036151999748455008643027227404775511980925868751967612924878877039039287617082528319476086027881420078318845435483996423322136904349367565253401594249214103796188613519965836844916801238150390013094003815888420740902432370549632092450032199509123838960087977535361545829163551213554506814185188785733286452589188342614918399998221392404446492218657227180184638340343081099132518436751132739389817722776545418348916159735305153959979331964092638427704292287329689624726251676826511569004733325351585709324647167561025207555159744800958489183234622744011986573407429364751589883775281668067353788369852765740713928404222462139433879138604250035963253069733270664445960004267187177403462168552608627954932563043062629182743971139028495108822583878783912059767018335085194075221752244875657156512387894445190975593807661105609686871692806084079391851236758607657903239684599809480024934165625930760361995465860080364100125735996918255856291668185950204439278198806904784645207756620841507599947631793388487340400339667687357421256935317530378169551749641619278849781889399271540036669867952807538658178084885102122970347272975541317087533105028984814948565959194171485523864428240237441548264803831410301896920769217979272812761801456200394837986132356617520846456214155371318568111474521397827547795286313215274662535456861505601469529828285383560484207172927375106370703798520433452181597211499521627485307718742678066459278536972858772502702742681908035413080336738408085457071472255387783855662600168896834867227805811691008756564284295396255426399864334756242272624371603480075043961653688947524064351994985015194628375605968164935725427736694745246469516153970071816826228176737784144287537487211028417937740908382697006045121938862570615643911048541644496633157946261469620843856403209543366504794732101421356042820408503472760788884626425913079679685500253311401546376335457569414906889203247169873687006857171799159480729188531408301481396855919523154422512110306139656743220798566021688506942976421753435163732837845794306477358242796287406212453829634186174980168233859717321984983226310567328923113092897460807130303101512424214913259013016456133070032109892399912742287687119619422706483649844281345232495968156693499171943107105306941999799823697581635373244438136122713605572726160979266278420423707228540992899339965165105087299748958676855920508008203713766921451064734920442952817024042927923737304146441638643103560303629644769773875887853391495201055615434441314663005815936702352919184637697748435958339299206453854061891093588222536717065341583371045434507284434803884392364551625872091989827306708496276472467055484867540131501735044972899967404823688668201511537137120647746939369871034392230706043285296457623317421946502645866390596989314556762176269598296447466275180925101235175470492482620630172082823193055723354544460561243094051924262235814906353337707572972250865457797353647152486353132961516047096393168035265908356627831276882401616431298127127853702659035645240045549514487676161049728507594265983334626228037844596927393490664941828718758211865536564425659121168, 408528423614703843138313990584562447849756580079635928722632160372654317400510374272815193151690350117499032456740816430328706522485354098131426663804071280637187712470079255181957630039436105636515960137181484536178267589087409654043448675001776955091291870631527934058140775426600170965940505155493288416061871928887930536418753864594056447489798610078987734721950852064038580549275535108244693025536612666081249926998560109407927465838296987540355002423591610192015395514374959342245331427314750235680121126878219421405167329593892962841875499090523689424970888956282214343775773793234012665457977641495649282335040163275365453980406427214393324605440212055408403935164205090472031030855633382468129175880743781271016239286767564187871867314856962661519267464232858773201647253898848612641228301989754495844424029573783082363273048675283582682879564192250842803221241063428088221811530499301366213880684113348745709636439462812007229242244055012368842116155471018393343411777459803353006615510122716840226041214136804649060076258572613667411003888033392842955590060522473767553407786262749322554150265158786756877442945577067376942189487066990846939119358761546636065653622233421757760481422073839691098344322362162396592574350506560667382822459381161435011422062122013406409932024716414704518892355919580132933627676206181972797128198154133393375958605600054855645778199637517044674566458192790774280889684022402108931386711229699750606763088186471049044867872037625239599840213311572397760790132334746121297923264598446606912410886204337272140060831346009402623020830246750974676419847361906750523724970874464109720756601978377253682798599197972126591331721034554235312435510969839184806011557717514652105879743521436873628970744145047035415194708496194043535616731650882512339034033072433662394360448221317339640024585885788540840571604547085175499058736868072856564118456808473970070998866473876639423816580100855041666889846135874218299681573920386508155333999494689814271799578921971135763356597276805594093488631374144735717312269772200332952150953072692777321523004372481890736511837747024430375983835573226529015040655355061753287341791969532215098520393489689115573543003442215909026568624390637621176128765592196520116952441753575240555544441063503809644096820281437728344233605963380952783648181564938584873291762372127831899882759369407549447842101511267313395763222961625845648959226186790653405482967671139113565698885746340611144688384885131813263036712979995978280736333366117893460581795476185975689792573501601434410035994046397851050471164961191647556345832529299559879215584637325561448551808030859278104352127750144992357015073574607074929833662241494474085311599499356353521816910164982235099837040078248176919858488291011389519918556616913945554853440056687267985001710926395269872990504140349619510425591503738925619134435139825135670379530815628332656369154403118515274798618858531586172281074884703756141259788337732069576916623888499028464845568289196377239102251578036783149955871656011212356528864127053901539482250569817023808952314526630961441139274214104034796587199150927753961258864045586859925944670232116820716483415896958846427846005599615211216281469936663959588252064783862992874663209140941695052394043686400380745992107258952860259672591952611641289992116230252911582322124694224842706048482926110357344474573355877870024093555472056875916732518647153037757540098661848942844626578886020287705366537649886096217468315086095763270623863046242093787826460712634389162009131574334647226864325557492657588088405716981624632851019450847331383132787641493599720245951246891809756263668665341140863400618190327993601855102383736996609149840889722845884601359896673121688846925291677291891348026775006862491553902214774162568140363644192230474287642334225998935380734843702192491340233701887199640595185512455904531718589730479860758786899658344514077432530493558448299081220027754330644488436334865598612316858655867571613596366797850333237377211635861072360073127702633718736445645131741990087833838172146489998930316449722845549428546306069530016984969607590227781713984150860072344687826838905265436606984923623823498832570304283996772444376879705990930037678783335297833402803162737792816613470481198410367542690424069742006027941892014260987482302501628006202668729740466083481724307388918489714365359988129140608888052634214618425558626806694106584710514787793277629406101696808090879724028293446382775653777363822603181747690892579997354096260278398386953490920093128548084267445761869827795674557772991301798401027149588663057266829203697008233587874054149329670958830976451455350657293722897352076151874953072694748942466109882837122450473179174152760091382412442362788922049571056348591399899421697857769767736490133399459580362879619398428946481538877551703798949932333669592461511285569256602796933610583025386820836755832818194563336269471625550515412032398999457362447688430, 907460614628315352278729480893670433494124862094555950279177051265908401474111525403175461389444759553779345314628258727565143921884506059701705035353319534573432143483348177048650776361198021281393195260586188390649196619930649362547013295460481334860562393490207352293555284852126258012915250536063328237588609742110642618490102235588758110782530203170613918870489619567702462280307909599307460915489498200110230610410530149127081884807126797843088119610598961307197115559670585551006720405993945115638247754466667119347405206674709807231619384209765822326828112964579431338273303851020760362161532660900279378787477069119367601777014483561547711857074175211605678132156687258125898559280643036668343068593406516629904013862398356737886122215999985060476269423703129267622279920258084700227429603394984482391556052138180775178248703127030462904989471628024979288560200565199794830563943012425069303589230483268170583945945475958291137698979147362203018155502390366458264023519641732319962306735910449486382585075190009023143642301884241724963661899004458924608540560773938880404450321710953612019527351236521614840809972695821080617291794809544376476073766088805249091808436159416376958423294785882426305024901660778804439295990572949440829875316084105383538111484272323733203491298042624443365204345946904467899175925841742878933690410837785378057952344568683604127643496670737119086725974304663702938143415091853427949883316537942004215280746786539730946035510242207626142603118129945102364291226014530787749281245820293613041354410603939712960035097715213995017622670945835851558134720328259488362842156263803564376778352174483443233813229409056650063022675677216761012597209422646069648137900956630593416332514904459303629427494852578531761127171769459620844472490677726514551864269213680881238658035289738482951549035291023332460789923470298497192934316514140642066382421656289548504275024726142903291373035500993217351877456856615271979198272832281476349702492494102777942710342956477788336185271483476085145855355408163295416000402870852058067426895069712697480798806332543557205645162804552214605202971371793747697028184749116468110601455612939115411332351754853043291428459358760320317544460252580679361347299441567803244724002661670287442853771444574058087826307946124085671650809241169361944985872770756243202433416650570971240028588841158283133673557612180007004634456132317433813423072886008565925945800339354141188804223445512297465639574979164648327223368753287619677065810648186982229774718059825943786879750734730034149485590086973569156906757959655780727217855208744754187724113211871782405861933352445589015126846474474640531028059843537402500330249467470868369999181134971255812045810518747248173106424629598344812558806947338155441511410965176180282204068421719590222448400736996511940331483683476137298250604322450167370731240318278622871724950961561460941587288867187510529465421884631391559549906868337375196476271181393152246612526318571129196302866183807385495202498864616642147061455878097794332353672245410884220500814942804941184681054528427953515574225183953236808359378662598748858314122116180032632853535042089838027897495586073827917162192771025143392642815649505231279881625023384291931369652020252205397906453242740643447222832626663276301551671447510298551148146754177453846730840904670883767229583749029954537220265987916542816827857514207872759456840585860988548695963441281863257375785880455002971732988933657891036559965324213301841794809985577516890056800026061398975514872860234393045816348796977090870050715350039147086360145371928750296491416509497550333272040460887112252240008015238223203123086394670864720758957013835751872630356108142724207666460933520297429685638760173939008214403858420248883774433606149552058145136010039854753441414695728106820133558805851446182441132425534268414819772159829749681271430513141036959133000668155742034744707125567621075795084953501697140940074653700456527131449321065176793330431112993580881846188385836020470374983994595837949993525662711813591775557681550636109818453735573143793278862619538956369574879764611230367256207611075563685995316440017670621051695785299313153459599971554457998975181830912252118194294734433106183589822504189352766806694665040542570411007206457172824158128967616661496343693988022792363121982286006741474836088091664016815421407940553056557611983917833644526848288561439089480369769983475051978124473490221855620431008228506339747332547834190515743228627116883153612944709972816362831585192239386103983596700246216466213386466732166361022524390933650655208602909838984905615774238105180591222678716396873286981315161235290870027138955713070149943005602054915137736242479570074615957237252415005016122875473553676034361022865809273060933730704502638317836123807944832536093925435076640534999822218968646975304786287135674465713080408683074607453537530191215538346010618183630174717639485141787033447466612563130, 4514753555922085450830947229728929526091623553599887899114663779024683541179564593701666191566843352404192296461532882932994296693183522790178657487136473128748145056463363717886282513308122584955250358713550574230811932790576946037679647496340482169951608592339471372050433273785414270760889242018121763573065251578053717722849868198307508217097534994120540320813220712626489387354039377926144033820156151142017442094240416657033367568232083946779611006003774340481547260344210978110908127410656643808312498453996655864446381509819002765353281478269733284485612456259174903791912844377133334708927682348733862492750939200905622854012306332358317975052491520936976468602372045806414975049137368527485561408137023785722784920780861131985004015733626025318950680619924756229654642588149088200212451421556505339613232530986111275971655334085435069314510407716106112713603465108019317802998521033341631781522579245910780602421465590000375004026026647579129829016493883358607896580368366197668916415488840198215903998983355416070416516360295467683186375898375376404445974295417633189526913377685657229733392136719908234552817940944972400199608417849173189055701949403499606739686574969666931201880381191466310510373136226516855873371172133205101821687384158802592916958493772460247917956158043784376307305227612205331022892113219994385536713545709333572765343918908423984801225718077803514874975544122126703037140781261227181646800964781529882536386487286954414967482208999456076585520143700599642590476271097642932372479743994988307073630338596441285238945729539881657051874576630840697110921152283685058197965002946382827040650265488409563983921775956446547700770818088642670372496200159553712140240048178138740475329918082981965394669780660564092979829811529619850555760433943682589646748578671990046131864285718198053487538735304441195552351913779965070490868079527524005833347410937994355163138459022946445333513492014651815481348729541646209018319403087358277172226896501937028979719300084101231295866614097766147062629156068075905490466388504610261592982327040181222030422723158268910071641576659245319933320473524503483333105717388784309114908365359295745771483854300144802470074743530003560638811841269756539003181975928046869056651024012310098458483166910929420659607954824525122181798582399995230347671307154812717056794504765464000116041712999951717991273143206668548698430506715215352682367496491436685210800170136665985853884211335058023154929190064389879184077346530997115007866694395603803077002803290335323772010563363446432488243151545413212818921325228515084168336980891787743412281198441904696390644946591006602961207742091284462665205222712399158966104417171692319714943828874928813243679840951021063123498898280877179164948018470619256301513283276299188793902457312075334836869214846071806829869138241941130475902527951536827659886514772953955014092520812570365922065336807059010391537144198051754373638163312558283265674467625471664177753145406506007590986670407715120888790348602841217241855494851851974102554399317973174969619122043330318797876033388384786581902790848060003835325402783533575342836445925672557272732985896577640492734004380149144228642197477393006646416418551178557086316040354416371365399010756763340210774430830194377655553572721281675756860596732314996810131848741489421337058659070285356085830015767990269832297753556795850309781518060511646725614516991259871785701813686678829014982911918576703297345825455850803206233665029587467922207898768688331103679431792962576510568234025533013243801456004349050967614087278827807157668350491745705552902561845371689787338223816080451379950350689327451471996412855388163146698959624097138619116282094265588209195591574508707556656047842322945831994100015390517352656528717268534900769811902888667785494094682929552912385311403858849611901689955630942808680739749244196936636544153120150374599762538648793609733863148450562114718118176386609708969815556014727842329339201640539859029216647214515683784911274024536480681768402120680099913896697733873497087036368995640999926219073385916414184435604186173134794352920090158602287708799043316858070723199995679697998301884775866386973659908525385869661795612253177146065231141506573154783554035344129067605676318243102484293886765040478800044013572665660155576657074232977603249514740297082196217272507429312081132319422663617732844465011945509928039288460215445811877276293142897674429226265339170738198568225283737874764330064531754126337196136368886036921039124441368930591141144120065111978227579566610510988231220465242522432438984852460514548819073556381857994716035840202016251300145661025853427387960832531050077929534047345615338618869041157161248296336001947981238325844477336689017196209464290169297979654689105936267052987254223447882302147091737757579976109433326342279080071331176466280196431428408075020566500003752526298097791329053978569512014246520399309098547036047620912996190121, 13311951305309934010095039243036593614363532257585943011343192947028154160130911903178435101011814841853708435397765677389017032957571356301721134285086218828521745119049896271608367740261334429873812612385596960378877327071274416806147186214950578820186907292181934413214199486596032561691879056301959394736394001756539242539893654281683793829409851621451948547595995460965691824693326603823677626998001414094373782488716310323406773970835739898730947168590427047824614980283301731080349250432758585301711191891184010637301604638117806530043269420947363365733720564063396725757400596213519450062410299965273442335477276113071669054123116602327825311969802390328912400449713454849646449554497716262020444744083010793393633290171128055484531492705288331847956206220697477535482564080024706213995652252666444430348274104026499705906059882653427893149660275606787534402571153386386125061740775925448923335154307996146324311822349292806596735591671417383629941298556612940443686401067358568142212502939916557382481884645326660893425469704906001930461651539184084418926908246940885695207176504432376524841105818065347678976947213615909839912606800949301184192448869922638204048317765883680092910133599056964864347690032355293749710694637523608031190085139156171682881872944657150214635851923600162044619764077968700447326972730902808785384612877079537177620905300832970439672772161842768471957060760056793170263626596444285555095054058701974970980455717719469020202713955416095502602880248046464549026026944141270375097476925552295858976327758053665071001051990674928052549920482809935578237666961452830113339184878955979606930929182096515573810250856810286911613899472160519297748472072148797160042251931724667913254039354913762735879480068474456002422490561950735806005529708223651247488976913178381219814595679301095073624759363754601137606180568665331218461456350209920460364810821228982719869618890761483799035587079985260999855715726454635711196439160261531755465146769302980191318574994487432975829580799760669854016207581603919522656463832251524807546283706816510563279601215541896167954877718245421895036061275776281394162240956600213693442826681400717191737488658011950773408270576595072754622359116067284144880248662337534123030654629663005837502110017679168940666763546673034979951540198061891734394674260282106990142175304063377184284456124172198578890616475301800074196358087825015049106941009824687140917673295545664360482918790439828629992532446326777450176717622995244789250585080708089133739598111583209021484562646737018401924007098089170448390918363969005416700806626245795538288364763676044921265421431428481042931784505787387887498098376113217911535754501859079756692175889306534684524538008485167073629023309439758142926032040390177883491958257227386252640161216674495356362792760666922896748326569124161387775750569045763976418125037193356704432309767625371352156674350806346476886454787802782942107550538741166377595218072971164888359302008874227073221755519965773906449753006659906128684491458165035084479990557604748926734587873299725221950969403270864049760228637510185848655172393199322756003044623196728177442239450886681943733804163094744747054142102064497146620224358471035794148112251139465388002189663082438066910753732060297405832148683464303902285721108808703799493997516749971650466025421079445281407926113101797507181662504167747888589547657494391495138682579102448692423118951915855278179925556125147413734605217419979232050011898547184878842793195205376095245037379105199812430089400116169317594123953144522392504575983757877585532081565288104026265148585962960024742351448519285953797641720369814519120174063080134487407884804034358630410739822764198692505906641123163033117801908132489376032045513260620256044298660840196528879570255807922085981788420923412213540057593275443544561215146259160226297565626941977131583122554607323144859220206724537406786420858579909199032606954937707289899818882924329088144501783649890935209716763767263249453021004129709991872305983420895163578335216818530453514084265532671842672146147079466384186124871643009960807291549318640589197936228717965515095355267722113991711513526425128102997716682309469654649624962512113465980361376842012431664202852736576753732710466871741265020034080876301708401002296424144599021014318418493150144931505539927153558066625203531511709125109426885820420693348527510323572734111639043235203075330471809573266359606800026794528932458567905141693000181933678103784431839440506495664648698447741138239356086961234373199655137524915257093271729906183063114761397430462368884773336177953241599151787493947220719090345830443173247386574821909569979278715572044973343397744702881941765015962692417830019632916213628792154794250276223700959547463781786288434865937574165299822974498611403339466373498818450064779360738369406070287446613514644246826660618940162693569233269236510217105637988231214115768061029713109014587308882259577, 927266624267446448383417899973295549620929108633400784022021719499234202887039208771276199670933505322202518842433673288186012558797772404320337909485545698158001364539722543459154068166510007381207553865112175791352513642918046429813451490194173708841104786521679897293948313275280823670698451303087631938712758333621492880779047012423561090108211856098884028187342922230746271396929508758455768587038013378500764650407485535115199731160265857905575850338002741684732159144696585258878176815630826648914863735700524118494026363337314259864443347419633445069023009099771342137908243522622299588638577158485934123812573496728258343479442193090874060555248089220920466660631549231079533036898631166213271735766766537563866995370147381001137802478216199534128412933955307031416196988552247101766985241973315851242802906101685197622436139301399056172478786465502269391837998112397356666588526196593920907683538256790981559318276182548445719013048429111428380343199520891983301769859448256939655045044532632090903983731237568958857248833126318118523777392549265785570488848021131483580674104358151240749238016986507246238243984966590096797295256495763946041507431756282114493255092811034474742723850043756448459094080956191417268699133199517396032351512017298176755338064866366512934615641642591360638044403659500110275564227337574222360026074711478980932446721692982941875782482332755176291673661361430175366061992132845775122388187067311654768154232563444544643718898232250207337255758324973987247607193616486128832146042414118009752252234773287094299222539364372790800616672374348467755326819904319718572909411095904676665322717649348948533711806456757051737380267606678341101391039134529869245314866070968089422505963276631268092282693654524131494965461528407907838083186231815029057793760138522221197352340857960195621351865720443100254100890338789634897177468962268778890724507241861584706451673534898644343799341513031682375967602725446484384207316032508148021475975833006117316386977665526829751613792300699300142156408997890009725014858188267082474870319848223116529234566523423507392370712623170950486382676577954993873854091702872081204525226337404035669132217568371080352036014975914281748938876502751883563842123575429130614029951388513008072456380288962004318538776281094436819398957297671690506951325130393749605051687906851266072054977453401171815015267478043896692564973394264600822092801733532850180755518573693261681619791273981990087581433917930807954906628064452600230054180182667339183392358808774750849577754725567587841446366138452000712950829594890518126015981420217734960111313962311006111032606076162323150872487015032861416856352514194141907591450781632418319921592803680081920961031740374464107001823233441374492603519695508123319926893985641210298359584603020990351680928510048834747673119712393675695004070821089339738604575916980903140273733104129862820912318231819301739629726570043276594443270086732031863810012315098459325740565614900874391831040092476337521281216623768085841489042930267368506771253679203367090053890395588482257513441515803049033909435328728196085076952750679289716940479645164356413707629600864958037806730875337053825147566578581912217615217076763833222508202314292891656543676021784448251950975216937159153660910904189338694229410941323079404187507098104154488247682555251285492735576811408278648250314100134844050383987301569295090028671032985369482196857282542456990622942915763462410854148297996593748490033685988857300317106197737568952514540398668080030157007606060980220613053592717771620709813434534611338153716977124176826954164765678309985857257198618069689508183030341781095911376253726759604987669630106757287257915842883468869101859645924867963503161777760468811577522968094818693170659246210703735429858933365444600292532566483377960316266827862250079625059514590057826763744286004101236887075161229222081910347594844310992304618028014517129167433531582862949805275095422938100643674990494324545213803952127972094748206364211509950915371166613770496220233551426021993619293603179997927810281649131898918908027032650764952038292400766998535804317373518049594409479553436925703060067364184998226829599213145133186103168767875212078792251839654295268398517406252371147119814651851979196767960485347991618915979705549149302842854507509764261864014071832475481361398509791734851359343452678908600128619848422410802729587914921420970170388591901909500524851344081939494569895148158343220768347406502317127441117821494881881148487577104230500787878207915967162282523453696522932935029606390164874831825783853782390422262278322738507872765627051737295909676766165767641996680071257845303866688580536664657562337255768195573928471773742853443675706691784790372120829795705941144148722521373278423068698277123604267509421913423659216165482155709462957216066389120926102674178613231753528944101666211098300246965375939391494701661290552392033417624177073101435358380816655, 10763650079653459240268609064224612103903825862852439800770891183969063215494068499412505252113131508535865686588434763820062539760235663717775082553611609133652591085402099344563541184662611405070977359898998766982152230508946989918701319113454177148199516387383904583775026817829354815546128871705892244680369848879985239762201511963389792964855973303247257227070871569990561252524454807269675070281621198434907525011718509088293858746034673433340783652661847391844874927497269996810305491394982076934899527963821493297188540972323189014584734977012572583039570295059247598630194723316232443000773357108683509518202881583099089627729276167964732004801038172290858231877599587626140161980854185815933165210283160889206186930020852741510076641901134007408483556700145126957297378253701721497318753959703711703665918904785136946952976203144553869483772489840526517633140762248001877565817328038975383461188089787010328790777949024771746224241381114244559373561203093341384808802211621391931601109215163154521015051029258125557237017656844113993507844426757953312344067350655529796053970662303924816517317319169542884171418697773171742871023563401440402003301962778606550697859276798543242137969218718955137614158618572405297695666847549740769572170305444035109795696938985426992685622425593747821040564497319532588708301385634438397809051170445415339690858236328784841466432225796756762014142527194861166028578422973373817366084187675529399590205432968380331099934755695795553653743319100624470063955826279597731644600347748306109619145856349208884443988160734829227548884021896987466356321487623040620396674054001167777895703453001930212466768475088813938286132372561027270251981006176433727856102769987685453649652227326528450779778918152399371481349584677302845869594038656868284009297992379966305387303038924898438634466737228612952045776770376781379641437678896829381815039339616979047855579250594204526000569189744306906118513100860361396808397774952016736733093844561996841674646051691304270054356550478867760255360890384829626375684880475650280912971372990296147441690375678992901491026921939733712437432240260710531398205075358339462403938647282501536328602092653753647937268116032164999783321670064744087628075104369402207961748093021236674152217737575592170468855028880786250217498089009417190116964810438511369098585940730862111080839223925238567938362470856228841283651709446310794846535230682348182791017328055693443042112768013114076164759292264796435603711635224449513727980445057212056217608797981186128292450532053677112396969147153093741024155804421186605411797642509594229797986981863316968220438059004098961523029870818628795058238043223761731148473521846007106943898474842893044443369460405655493287440531129648244819685103639694557889415222530779483937895437178060331305977911290940208112730318894985145344094975330560596503844584490744998424257467173249324711946497983116724318253560765012069322000297643585136314942188243924106007904291391150578908767453920303813691640379610698147901514832233090660584783956298875704193360105618547892388718969179962781466051873912529638739839285259822093847019823575732343050275354803855630989324894311200070122967450395861927006557153953860558286733775519989565627225080714731757326623273473067594622812458114544551099494885698745373045919489436873570156337227222911048057162302139813702227220395530940833654111022571073915591283626094899046528010586092247112504810649312782917507856315330784209518310793055194821301279784933887424031754109628546671636975178220419932649342124370372214677959818192956804615990663049918731599037687661900446755944153406944045055269409885493694049805545931958238087591299086080301907290598442816091098540899600485906216931362916996705364073023827281602163781712746332279030465115747794676111356008831138779800728251244893245153673166518572762666791669821398019660433742700375800775857004951903208856479233901425717426966712483863677668003471891382022134382130750650891494725280827330767085411855438734230670579712036267986334725211271490399119794180119981873884685570184714483131733755581406226587243328286483564566344990738737138564866711593572489188586622039521545080505342955047122594343531441741649468652780123663951540659050994682585743490695974059457766740419711977186240275528839202890578786219073805927525033263699114126600794460571462345976775311771910313636530104051072114579128716145941455655164331804675778422271715567145690239731997341588558500913581583662935150453142431067361854629356403747339310583489277813733398412599992590103336647619767783982652194930889311951329542173326582143659888895252039595201001267796399536093339077619417313914374554660115779089606002621802439399905588164232793769944201106315847093583177880623801666483522320689141117267489968471799484371861564954892091919529316719715744996821440889095101397292799866343384153426277083141645705488116792661786903380482215820053093230548101838286734686016060, 12349624877971993624785514597626604108861700372003820868797133899198486597020519689862740319919464715647390521838888759931946220089109118853746877285411555476873613807225035873587569029565870493393876975757236307955704050304340449314134500322004747678824487811005305820883823738092717798605830295012335276066052526626337148081708029288912158530024416547388464140026121532555884540611976232903998931625465182144748504049435409588095847209298437196229519775136825332429771755317003006039859439062805051987731238655577122368073470706668038326065599319397544873473626763757693230360546612214484228782320626964322828953342366037046570127143543213001965853623368132144860681151637458665994156908529886326679400986889279621212325975396825348530873640671166692457368480244393406597526979492785353222500900313017988072337065417507217692111678847575610243845559605338367977598901129036452997590370284159180272950020498716669487460392764049487433959725724006121168266848346381474421234167522488191807929194211705279475223035964046477918975946927484547263809740687887396386287613065375913560501434536016826924640046527618766920919577629937813164704204254134234005421079380413619782942532040190062457760341025573201082962029235698377063482490075142618945049789852633031120203729936777379775511907826448318494662170659052137262423936276952215787784368707751080723737361514833779484329862674258497055462966166053464174345207811744564659226654274625371994315693981099889522562848703971857849070734315888217936201320760666433383971118085709219708718396502829516626646853541161733291576573438381229974922844916628033146353408399495559974803261307395245287798877556924478422178132648636808123691693406330172100244722811311662094544660389938172412058327049878983610254981002615785174341122414653306624193441913547870275208718425612827929243574720838083527860382963315075852503721457180778582639395338050515887247430819972810101164306651266247958465250309168131592654055950760713560604830517601727618509969103209582581575483744289549330489832624415571594172559588323801097955837669261062923083737697000959800327894367350870273262882948855296210333403633487692812747305842385889480425894728767232191354317210007527859242423776822277517805586806237213759458750183394938588951952596688392051019849044096635114322885092243419639432329734143220948019302542774802225861608465186872325981520171922478905129899849477077130001774056498455966604932564022089974090742125452323818221446067782146393122339510378530979616485112901717005666071965639679308140912558416031623713259466407775708506610854322858622931414341172750037297240827923826861778662296353605145745980761472240761339191617978538284695329561499693152619785006767250602507941151332015252913581952692367435037488077196460520871950197954619844139261473986942204935047809692364935118280853326105365628164457351291930665298526668742362965640771059355388654231908730029556581072733235286098963524360985206667783115277618153713392962258973497916787930878974902982647422450581477948158211121741097966384872136705993805779360744894074233035445553975170579425645977690929658657539154433992203020366838385659360333751070479970850376685295110873440041492435830983150897783863692308937396658356068849892389064369248824751720768515085271011609940770880867134061958266511743442301243193667176677292320414815718261289057987015420673343328348573705028664006654169988402812858480058536219143391205653018902642159568907468265463460599158117842878823059348392645457418401685715426208432767386936069705226621016727959297018255819477848429228902689361276593343016168406742662657748105135403322082995060771581549971026775917630293611738946198899044785664995247052281830095855761927460774493401032060882759000559630541851330574346590183287565835305447947639583876949674375940661828549563260201544208708743498430668349468714382019473573024742717894449282234762135968457595524652420006631758138209787672870979599753167849389534107726032122245667728925685616581594255373061443133535618754190275313503418550428869845019971814447414768450936413045020066786421345192744340024741331491176396571292426505131976277555445868454525679581539966605086631268502521324227868600779768222106325916699274065175772933685141980928648391611428892527398278730518804954658302173945581861813191687531331611470585460276167647692441402996728307065697709380477656494891654100866935697487466683581687322599709066695857587935650668217358912451795431591295689761500109941248367268444846533856850878112903439700759639450132136061952447900865813140224635869531295480598784987543120491020353000933787594735151055713317045597266039126360556912089938951218346227727578451409920842684444470135098134584689918994320979855955265526665457560023829781146469243009151766503590861000411898996908697183424147290328081774487245935917689081893229454322087664196481513593819538373277606193731985373900025922441883137889767863714307040285083630663744462988951540319536, 849714597073641454871953208791995945950850210912778283087074507290346199616105098320904050607646004776395790727867735733912614645045356009795361474968598754829395074582488640544307078330047416283770162127968187596019100185965081587988107777797897506917265923688322472732474651648474056853347987358827819685187061627636063822491320010981995997725806743493853743028344333192912615356226460234285716371296353114500239475220566625429782401888172347710618911680166948830559883165663469656747071049751407839270689551732102934597811466089299533687033236869860372148328057560011959200833647342492314777999411692823630984193734558561374098573806002073089536895118440336610798875908847306056814773504591198545696726395662060790265400664667330684033865411259057796296235750367370126058651546894747231515591947164555864555998960792147519826420483212235449774025779301611719533564468866298620921710582836186444246089686799458542870783197807122716990493904961487445878802108125203871522923050549570577114123565851707123092921339877086568466772847937504459171208556457724538427809530403918461907359823087779004529184823244350933942386878137157264189503526378790654048104165652509541514252196232140664339377094655684038318771641153065437663249001531200586802628855387602203621013247767600882666077663030498694481660758012794198488323355321652540959535413776462429732134370250834070678524815164490895133017591735180955304301739864769586629415170294208953277374751423411087107424671044287227693390971605126367996279466307482569493716758721444277279324874053698970270829035141569815587057279246938888828609143431160042740241398995956337990468738581535717989891875542658384950277802635559538300999231583003463892400281622253475224120351012257026290719565047223303354320551307996246242831236196856828832740272877396570256353592794810141860540989250896937212338708581259444870638029968420719452959660298884645806553381941807703462420563197266185049336924211839614394313425425513436540366364812200912475166462541910695568825601739543474492323048204693197151974873171833611079962891106130336832984828706085061335140118440002585074569982745908064177896618460357683352940546049158753077179506700078018540596437757375431724419860465856742461043893930149366929681296996358110745485503456153929251882718379863549224833730103879979553390852980882649020553245376118709431848967385281582495164848051586827456050186210294454255054937468733701279667209610616253622144415859026237861019430347528788367345805220507395358901526104389507193529484271939490262275191607005796009316837842958770350396474304413100049932203965856766844193760123533922211319500282215110084140011912770188921930711106371303244902985033123311392593871760209840431894023322031279451086830237164896479806005466918726732766224227922136696735623067167182303481841588299292847881833760035433575775715692015162744983730817985719598793593370608160406931219820494671340623499587442546007043871431663938169455565191799727546588876097696155384467663573391313202073175314869755138895574494411096910816486955355232509634390738136007415751194233583787887279583427175581022509151148858239406967926500850230945983730864718678958225305167426051210296461936295158021736763645701606465617551540320939073765134535604389833814916876497348059216774182284808077038067034517900778390288986094531413161196175487189884896336123926257359975014631760950693073330169371288810450193269998449512884265703975129825451683275563767924553530275889289785449208994178174461442780095577519198279884713994802738205803988721243465925241672834137379298084361090484585701746610782010922444528981656456915074905253593414874799139713732377686481673045220578764841938518430070777825735129896991659802043418520830670686593661586077567858570491358096395839032966491548117211941205739929362891324856723611229833092325636031378996963388605191423584943330730872614493066217802151546820847627959353705519804254485625563309731404248599132012308244254090471197071885130351146748805071339304696390041579985143649861519296082521342552592457884319529165245178711157483670359594133858182463455037817776637528726088739729803003070689304168359564994374080931484688541271662967098143157510846506168473524784433563823250442904507165245831105844393732362027989634949618592696950508305848123115580401311073373929543091561074632116772167358133838970025441823603559589783493666674440010846319143656499302288595664440337282695075084574277027150885193276074079751956928722791053367754324690075988763056154495174508114328412596591951238070939838088726915256399919038736049815631453580803691286906767750877297172663699381513289019541368138032566374260938337331383294288236000578471336923652043142971065291973391700637551006155010807766182898361500042896364770604655303213845813671473468769894517123269678841381370704521093049814906063557918464233090420743816990280306486094893327661533738666856098466228466795013616906270699101739347565565552008378039752082, 5033281553104074660863075162783067246197348819385416209876033665080818932964579275183485769276455553884361174640742874888013089911162347995744551439558894067521628255424641201746098176758761929752460746989205137451920663429353725602148708283838730878188378458189323581249954623332928614022397119798011521069139871416564149336719121229619227657551444861349934978680981689107569346948208920495714199940735120070753029116329620505722877687463172997181479759679392266152786445707889898688340859411281602422193240837353620177415872353060981394296785529643172668104062340834947709227946979478632078253250743604354947059149333707831125292697192435485348509508967308872926116752512316322923886035389277353052957866840384956222332807270744481983815631445048630320260891352857706488224438194122887857631279771589070431673014020124044285626341302432352374285396881063370191507178151534763769314798337120977323442471833984355415743464266233623682323559024758820235056985535992545188061190943376936207926470810582832998947623438388394800444776596953712818997101982788474240047952134048952158270694861830089157831567825758595900774788642016917043618740236885077140820089219343575466248159975363874331850898473301373468919362457377444889925811881767805463298966569836316430250879375727596922956012102795476504217987551801009756092984938205986822819661556941608944325916405589591747598511098076474091369357523476493879527714315033743949861084041239402285808486425601794941694928880439737861354246223810209578168479781336539063356994615031095689964133010738650729974127715778113767118614803695275056812657072940789577434012950971436978124705380757506149840476736958539537118677915431216647015339427479213339103247165173653149636708450314860146151252435057247999737255951908350928120197155819388391220412425683922466017581747892356113701129908462277427020335151556718797840255161182449070337036830053836832976022849007055347236246698439038617928198858711316206902466249032775148934866358255975140011401097562208509373976985967094877695672751330679132642306624655156729182809164081443376564871532334707542117200676720371015464334910780926919428629583030849183452580498988141174809056351892361104473919885210176609919944313448575522945803155320157156974356824108972684649558471329660171152846011194556936242982056028153630593483596015927871549865855802740402361130938371514454328365316202162024146593090502782019196924068717961398281754346667710949626412878723285128143993523906377705743136395621753484708289426666148535544325016921259742426485308363762903500033704423353857585084279971550968222535299281530614607276302685668038566475717492732004809826899298103001660320126594067403736450629740264588272495148750600644413992468396787301081960929354547000531215346468492967721236982031921068377561470144455801936605438921983429754661146259853713445269473238817754523617813660721067999161681892096175770706164143012302834306211234618962117457167643812744284051124064775792029231733334882223818363772514414169824124517353416131675042080459879425193022492772221150788747753450495687971567331917920753857915520220564674880893801724400909439728357148074894569581234106756517542303199177103173721360626119413426687768631722444913524978958953722552712513887026117689840076362365694328351846360239607753450646982990426957132653965756016343372350033588782157060707265534262624097950896380868598360675293607777582455029672291862760603531243020136783039127422988961665125021337187703454650175252539511280501507018679836268080008031829094888824672925637634358238433881377206359141966455305604485453524921529814163790297699427048802726455307637634909289403890487363695417646973446482671658708227373077566823151476983584701009442267120750982151637413510404910000667217402205851924210866977478697910817681197933696868478354880344688573313995591534831766761150041066042096021863264856417405300088935369920609541443144401077467418291789528496315679089168374866307014448060339039544585775948885240102672311913350983925689050651872615490223960431669337540527416132561117917005325941081049630291293439678731085662961574665070839415623566928393860717099502678692276127504757590723625673825076104397379967293237237240693128289620366546845439583159147702401315896697696629250901546841848966141538733934137462923719270036527386657695026417426665976815120917306055520065972182494425172652634229570675418404696030582929397818685606884486316507017124175531070323300963961569482266462639615568833461408990933003820300374154671228801262498374482231438776855618156614356676434788859848236122261618373324971282462511833217965507728639661450183956003649537660381315495479804594965234906503779829783256424627674738609298734808421676180262987537101523942034215615400311086964216311752634772382055079988040557434580150818705253646335812564445126590909072980186052522625760424125600144635594894197357706937600931306157556306534466559008165992643881866474365237743329715349447128873590, 875876329585445646473627803565359371361535822397814778671824845714425655884048688635949874355853838268837896759328251367573647909949451328885166235809290457434931940991526750849266370792689761376036800000917667447041078246702289717704267224884521795055978227700398864024005097084455850692121171246613476377306684507101830633648334289774129185686373156779579461955359374916246142616645678043397788222069219714527257116607453218925016603011913359825077470173010407876637170295492190286522859540264894918555861208785480955276384149388986458092975530454900355328402850983003566261316137002645341957915142365772509374466545740297085161817429457046017152812624695043233214212913632493572898109834813513258025115505554291628574487028658650390515086091076392862154555387572801393386359123987094542171878604852449771785389649130873417163612974650287113064010131432518026246637427107149101851008690489955649239500760323916529637243146235390767014778907431000114944340296993142629595997760666425387518367773033034205009640798877279795776178843489252651451802220377420972067172312466366440501097113343839337734989230262881518330215478786929049255893824830814905860807673528191431086798352034645327185138127422977343560277214316675213667662563245546264619395725121500226448530919205728336119348708702899271203189336759731571538903210163773642668446808297427737500130708087413758035933424539997128732242097390484414686947385665618041641871533074120614338055054308216447532693695774702191088659210102122327749943158916814548307742351637382670424680814692440664060372844788063587382578632322013120147345776032084092629589911358802020381487682591433030041258631006965607805423297226195449370843778639701632738355339711607462676788693258627280333709666381785299992640776571640218436913033132018130352775840624798813228587659801943266901538206267659991335055475365805785212212053490977530852782154698144734404500743698753526906812443982191839138145693499312591750679220305716987356893654664785206365140854548836831939396968613413469818057141485190478415347665273142750651394855337313042207818894956839997318503241045355742033570986321149316929438925721785973511772498594221881379721936553737832666222209106476173066955956915680276756950642778843667557805280931557487103548512575564690546567361091054491552910872786333478880284490095363565056379245576276916556660200222015017400408815914920111655831294890189862998830395724000826526875518374422130713678607469813692543657843645054212886789769020856389679641906322834847520580562403389176673199198428049142698595158724199387891161135524174918335374452675364755067871913471211063525672183008057926547292496141247107471904339073103164869846441706636912186919649785736115766842846037462820729927969354334517159719895809921853280381171233769601921282910170058545026164189143432032404348181934063968808458924043849777177205898524118332476470416331900040355881191482949302864720132248196764970633296159025150637278151458590404014296407347552761622708911553883387535489558579398136932231203442725367250327712194729044176626427344100806881548312601237720048293402047305781587921232248425306918982950737310254529450611750738018007424232087242028577178271920590262818821552562785821135759116915413601933825412049533388181980585376407651825161788032069236800443144021609082126730073646563540491062298716235561443855000515981883698489968690218093721869459478325511425547367438708736807478923474835810391267332037475012529912805834295164962742767562060715122090983037007317270585217451784881542693445503589976769715768549051422428063473429795808303578691152526312610323285350438994322113790224169191868828281461297450655785940098501930134332979334570912772332664229469982616845071348758346391171170096935337575621460755292187538335307799727442093490878489414910800456238714693560485800507038856119920109594611198526405098831422840545112007513218331149147608983444511570683464200632865619987242560723169734107297317998265887710132556341185803361944828191311172552978333853503138623381912058514098199515088256479606717255878020029854687338913743215971111647552001955758505001485095261940722124247305271904063747733249253806934808894346942796994767380376470637273979081727545807299213185111434364667269496421920325455417811528060668304910998965609405661203286767927945150890779144123639911305529346568432950444568070214814231616808889886674731517548356637440758102161246133446406993121389387570782629292453701628517865928650643000595771043232010515207824585281996743341869825771753621320346110857441511301795809271325379142574052804561264069688773433222238701705000350024108343164040698806379490844820041748552939885318826172702965160400026574921216041378987705236328465355528264873719457219112810508724932190245923547543086662240511275212158394447538568090517444690764136551460745678295723274273933608917015977159653214943506615480800507995541324282015768015627485015644141090222794368336350271412762872947809007, 5791500954781631434354399728587431581310394289090759453349675611053216289598591171585044220814370502111980454288954620756235967307730730671538154357688948308956703152343012009016148984999654803543661011908167199260016968752347727788862611646200607496923436910744437270183792778003038896833155148444784493979199372906017697616341855275242320785742335554028268246591771598635341208470574830741045129667390501196516988348383170776889981683553829297227526928778640134601144825886029827004517891672422973976481133757744692562052803535883278063796130290761525376136909556836136799164868387601332883804970116208612008546428995673049516644564471664389707218200713288571318748932992908436369884686291830725927883666973964724832599279153470414413619175756958632665563851022003094152361159658436716245048422664429190265535813052030647744104195504591364298066459035370466467228150338939871347343296917191510113005169084767720973120959676357428083464812110987930074397445013207251462117393422788478223385303467581987698686558453506088177641979084919899631074301254754208074892273065549396855705191788414346506866222490910946761176358618074251713121601244289537491334030004475326759150659821538571432304319667706458696196739698359085787168936113325409681900185946232747667045887533183697920474469535862354796808026007998970595033396447172754576553769667206489515597597408889872467872902178264864711873289520095369379758729925081468543179861734783026925768790764604924229922585018245966470531265708806894508060318991409054564867911164690413526929300600860286794152723154045057226123060252629714808847939432684720771024013077129053307619810165581288106748738805762690724698357175445651079031317071940925237681204973818484078793824059108383650046300952035798573832643335907136344398994557136799143978260602700747970219416591225211846269739451529412769698572929988300129732995544286874073455215822574802039013757488922494702363841942320406042145140400401714429242562146078442409040923880631242852486390336841848629393259959425410999227631956870465491120201935661970467638217930147884335462300498279557402972646316528222976281086274058939057949333500525152614568949587762433968520242350970877810039085763781002436783609641873970621459212611789836856907234675262705557147821085517568677042668286602618103718089005610294897054021112851899245354968184204999395755513734811826974049966513259355871067998384692427019699857181249359744464600544410198359073517628679271402919425921979182489909614675437096298965562538658908058728453157219580965294809166826024241428309084093934712834151375902051154964005653055108244157308341934158211366023378808624722382733147125466800576630198847220464197078653245845082805855378503988038138500294437281248479625599133994896416869508848560698719825839228742624192599633160718092687693868925845090038297983743180525770726434165082964034546964468966455993241334700698660428812904332235125018779265227330130516977152913151992103964770729326136354599209377506871323071124614682806753762592443476086634720126555428805969753608750974825348423688930530985759753645862548937084208394548552973401900027577183210325907671439875404475872171073408996972300112552409086904091941387241403478195767623639818232234518768827460361509604924955801005724905893780591850085155768389634010120902961739268495289148417784808392647600156454787599868858181385829537928882169415629848664373526260628581546667030023200682895915326195410602849577119461753873828510024677822708092778002095771570419339385756013824198808024715798068451241214501621568090237547657224760184246695949780954978745673900321552293322462311469114075141498548101760264253131725802310552287514653006585180421236919594089582691230206571270531500268937666460493850029387634427047752255225835147374110289368727155943562506081236526597240511015066114364483873148308423528987278588883611940142569385571032253247438082537272057683974066696484829571502134259310913720580030123690941415645233948090638940880225385010553358907956715636609369092983254441439263777579232203049455539102768812274752132026142921948643394891461694516441080875189842726596138463367339679764827588563763371409578363896204274543233523781886238270920056836778446440511456480070452507251176449050764016584610735434434851819146523201430543096079455069861522228593923586490120396235493737696155312265937037662699514789541925347554743982157311229103530799184158603819805840949398352632075877443698375877730486971567113948375711540686717238136722161547581636004766779370969865504123069435755488439957098401984889238142421767366799440675476003003080409848274820458049990849151680480787517980144518817239894214154708857984079016491215792279436708809051054320332041273102034643324482047661187912052144865545824467153701190122268996601908216370810752536138272224562351274283388762515172391253321025426080004164614868228381727993067033902840667808081524103030219580166635853803505835599598663175124750709418016442889465, 9847491156117085607224920052226533277580966291579017787989863058552958121801133322877923943190859922016678030281649543889618412502072777600718393933030434024453029535127501846077101446412911816953370865518036471349850110385695643994659728807918595866989317351576081191420239338554429034134973357790878024174377245878023994930625486279409062655368537661652875893271902833934977116174677239168250464232048884778175299373819626393116733482808718343176893301950073367957474063913403746027856257377343806670716464019042514798588548501521817819224150788896294077046874336387875064578768303994693159478748885918229754140369518237366763175580739608308751430496367992449082169521645813386173565827557904895974813345797957000975338765604851621922215647229156420842219882365888853374495164738585918718613529737802016949127114542506236466506167867593301240688576921171860489184859092327288731671479441572462502795378550496707343441699055313574315962649786698503866929071269502505127423249979360079967548483181258336912576455883311522981710907546826307566468930335850935967921825507030144894344610492775230525281196436741856275079375224600681198001843149932594610830308807028383438446014668957075964258350781733609812441891008756055905302417008884866444837584645179757328717349065378071154238897416383028530132647744615466541859198450533539040989075526083670164683442165316952514180624787679055668670212437446244635096209022487403991286549291899089712541970679956324406174660036722341095794996424468269218820309266373271711372533582997331620844678850374468263234328530788478360872275341343153389629981413876458507831810628901498868590968483234641270054948660152444483764430115685560203361611854468075197495374499762408054736181964894338344274624847204619829391597046004995505056739775557600460012047553385189386214411028805002426620086656288545472287118106908192144269489263704476180922391114406250633834539369484283768168035808737540227171570806743519760790102512328220523367688111287262489545096549342032629120096885676906898106935502471445789515419663828893527530716232767647993296330575862236379361077375877916577342637012422402760794180600676240349578193579590755799217850781728131054395392404518479958668141597494414805341768791993851071036875455503407568827661949253801927872241479148124496413924284184692903442184172908690077109840798556322201689422613044012439846021026434056659096448391857398765971135116970354570844296527318041929929713197238728881480398301694904020449115036461440240668903145230566760006759024979372179527156742196893648880473986662857393416516158063625938549156098800917799520891843410502287892083706347361712158257112064354895782614014037102179937544880578869038615724094246561290430846611532982727728459518858010303788131151629766610032553229205508327519769099395176912193807466831388262454872846332229667961198311450185873682790752033532227058937921648016213734231491185494114512755075595795378160285121420468338408941468145701033542510768257990472175741058141158464821496411963372380875431225645570553599888700682697501923302645170595399197242497342320174051364185083251008424917149531945404193956740806713626625192616178941657473417493138198042850695304841641902700907157580050764279272415966273653560925680400133572065283247912656882968131520112249301354896722350359417291349801009201418765704200265116183056579932851802053169716264783482845884925175238993900385723479680176723283151411676456594931654517103271917917056870599340421166217862718839097032546893026506595725820649950905827517869640414518180893319205620316191744124843143673028081401468175353601436311065167163518022172087306460807030007595625615595962768451844066857891709886816772814196934799576695236996742172554185171550895203924427426807543004183454868181609033578898737050591671275443914236276379295106221964274849315153579042904686476351194771392399960615421440022546639236398200743399403057698949306003046890312556219303610914828186084808023020254374283167088685458119754959368286233503464087050736574523172252493252589942463734641190296267505509163218068936681818358493591721740618871002090138118454677339073980200563821402659263503713579643657929711937895948771174058350049106578494583667589617855828056804928545185121096694644237974858393667207402434110311358191242426403247848993383464026227713440245072601575991546914636910649712784713001511428786367235205856821611817078949966348327322334505164189131144090670115750947720842073801654151551907568614885157950766772805931463625220116088761428281311836842046031261116230173077155594054135988896405371705121985053820689816679355818125327337439420758066259080344056033385509888008133540933331106898125270795326443103134475371671873311540913422305254873686850161839546457291832329599836601355729331771573546681957225163247778437682795221206113468083606307928337779019651944713152223692437088080693158047142635372859710778501500223135115886312776572843160636953080761086057715336151333, 6958559594702177312049077584606632569817004517033715164756694929604941303899570397657393554987588426474935085182114030057595204565107153529877084915080574518384459046154521761962332025744271990675817714375417495823798863038605447447782618268514733438333189687484636643139352239320499373775724049806918947541707199095595946516094745531861208538217822580220331735033217079604150332970865839923130078691390820075789950545515214306888310580586344390086426977325428389287931633610204392362376125038301658441568078409070561106260180098823789337934547042594303059605173939952538115008995050201562442992242836768869860635289755745290875652704118274666222634598714484376343563677635594282313012432354566843201527375364385951648114226402468143082518891622289948396568100297676767010185724935957920603479551332502090767315581631486751518945520595353206852510950553722616884855700816201214475879488289558259168673669690430330485654149104057094494072892538062618907480358908637082732805392780795576412208293982192474785873279602847949069014595180619403935662224022158537105860759525770847017052534547652312838859967049840750443728689105794122116431838138270720830033133726133533846265275261105975183103451942879723793872001493524334298009164097281960404884947728198128790470108278256149315700329559502243677595136648401080418893915238005695911305513220204670721439782560827090334824852630576605245123114084086292709652028231491882485260872231050916724281758522012445487331567592099534941483391201219701354317075999707535058626062923771481495479926823571823247050132713049625398745048007379000955505215418378392767915836554968346425080055508658204591018472722088800364957518507062069128039031743583710392011474081252286933935827336911745064156767544661638961793778336203640375368278782099100343770908187138607532564895856678540599561937894478993303625921882518001163667295819260096951544338883047733590088250249914935962950268865663112386078281460483702942113888335969616642620734019025947446832041694895847052302633797990217679853818192921444300146397491313080607062286531665145014591052186467500198997780940050932638879412392649135741585695567846853822609241454721051827384432672986421043176622644450353908730442815568879627472919901090551555528733642722029931208372412704166131439556825663134110161354187195044109779834402423479299278425932750000632737813383380349452061283577564988224388231628821154332839587261097892446895602049563157584860703263711581069777911024665602280329132791625236953330531801153091529482945153519783356949690112056783658310923200975575480322483453190645048407713894558507855923068974168078061037235889192618459040314159951284633328132247326327737697910538162069881036466270750552789912989320683303914276086600704231064616110254526787839413112574503881042127323373373555691642787630257235912343286633720229513764182386312091458098587348673161056324531337712835411516758235177425708774783934515779023086799082490625490494740059732421606056443851640349695453544831830810485087424230824524967300938395621461351414249470888005494625809343294448774015469989143410544659161549615714273300105278804389051319999542485758660113126179061351157478329908263908746204254840431885669569823511494794946821961350595910091154998147795712722686672494972508426962691231594458026828121840569807274776146175807491987397643518803180280174144813417217772498228364902798762628041213487335486135946033946773665760126033396565908057148676787734106977376156100557747374821296644151059013570848314211353061490798106193395450478117939704679524901304017636109778497494534272457779070013586531883317573881502840313330899273409489048310372248555319557636039016809435221863276304162092278057754140305096058002597126836619738934012804316058373826101879379037915382369781700122239817587136450558141380934000444718083781516114221485422601628760864719022131461077526169502370801412568335778016391805380656566460351560935446223188663516563366476597158306486286005426754862588659498397213248991575063765716125074381984009165179940173917338373445142848465640719775563783289282008496775405189555833869826730922505492229836025352455751933459688548432866776733212519352332367038051807934582326086543143772120213940070683671802504627555542918123511013226533059264377353605025274133049022739827390011240327622634711826290563350334060463884390573930372211639633642920423607060159595336563281836780230738126645713418397507050887958359310772463217893844736179416394503912103577092137027637157780798868067077330289474543614085092126102204599935174761866183976451007869524475304477620953529683937643995120004344253599331154286003714562093258843693672521500059093825729790197179405789127551828504947750169972937306148724394292001626105183613530881961913566843795054420408679594192380043867071869042294478641413681134592664834835158866169506824507759912218281760304277923973725121267656052752499837123051719692233267784001975954014729154317259801217542329736907546, 3831069433015636558287912034436062350737688663952057546731324985137769684373789534854115630189035624850899148846599138791513243961347226166628895871996233721279795958528236552620386821079669947549212992312924741102529454260210483308114581774684268056345340493837131300594214685315846891637551624933230882042693433858417121606111239820143424349709754552161546326865321427011145353837730466864750559575135463687681663726030294610546150110588849955687664497874291861179427539668651437457529376304231264201838197527604054328606417608767756962399737163054041316130129422519467298320220421544939118841181265070637429568328115674216856644315852531576844582821618870424670575436579130685079899454148198070473751723730532040632929590707221569210327893518838849605481734480940008278823435976878533549191642269047887106203182414876000820845221095720342123806754090164487588583258001019503796736654557956118908254812113307641604853693203868339825248750622280258511030083642651059791277047966084536761917074289108076034914597795037472684749864142894195182851879082814951781183277186121298887521283851445112861278574748158484325898020560298104028755360996716002705750525854795040277433689367695909111557658700256295653588291060406786161038142570889277653382147598712872372353865499820710222669617172835357673695961552947608435160229587059267131870126790433621203986372249293348532423590643908959528091431036023501546512854641791801099317485652046020917279447514354292375554847259340729400070293665545851071370862719508356602963505489031127506866460761675550275063392674322689205465346544700290276149598434810594486989557676514718244130713475164223297570095997614263608102422595552388685528561258365363675153748374879708145290469609384570085468262893400679655635013654544353009403446224189098433600940959145558229594799408145529818540812287971248606619844421456339262793164334002373811208346133611710595586969234857886236364587972125472894529489901753724193582040002727685698321553027854822556665390068677724968209891089939875514626703192199381719538497732293370742796009368925663940334562684069432047200726134664254308128140548327617951276129322481753193217677490742179863573189665045164037167778303319326078266010818966659538911847124526667097273181508231360569345561801058380224091475045628113829932387428397009755924817715245182007026837700617066109567734632862425642162816840882838460058228632180839671009428632007110698661365534814850790823634955463864318879058291401394721896540301062711561149332869262254213944834319328365094052425965373529917076733722964097102240806680464164647723006653281921176735067436456312185683859282844811348330444198829387350885563617546003115919573096062788552140692801819394485323392347585734451706188213638213370308890663028658825554615784782435771256884670585608913276881536297190546717719443841921575756729148313627698040323521326975634582031328212156911457604332877933664442852303442733299201572316602638516936474666530613644304141434204227464989335201589429476361379474170631473444814685718553581748416997390592616007059507498817522409083592478421459505629845743684404334008349269257796580819544808825377739255434394066420310829100626499083448343237528004976047906802840465048852170194640866320652160872271059583683971694385472120711029990355817099444885752690494839060544914266624275615631615982536450316233938792257308343165072397080843612384761289839753615831792195302162355326414458415061336174258148063118177642558738217411755637380253530542068844497367177796009227212000482954900163156206087945469687289390813232395612468283594296728137667477562267434602663586483353883130969975459054583276939739881572745411025256478458852961562022517061050150290454286958285791325721710302390056114981039203157274228183578506492040343705010674983021621043819560132777005815853731015997222616970485224378749558225752923651843869000391434539572044192454369664415165065254296850687498840119294462990720528041633177906265740342510643910452125307605829460671669236433939680439506236607234885589254970213566435876747943968248444490254102138407399303880900112808359637312404052687928318739469869128576788268849201908836006206385907692564422337165925972220016002925186877766730019667651040383969779394327368958850104957524999674559407246969502513925095895789833420997791380357486757943173421406006303890679876526662815558979588403995668611338961519368388948967370689813531769800393697461393317708018345516136056153072922625637523565050635080322929297378254839676627127248732333649870601504410737614624152846078180247557626801122093271528051650426695949582847372861815358135496725014102937791147137848139524486061874933673635963349912890300532594717204754356250563282409834183478175691496479606052376559890654384471120170044784601265313310185973221308390256624908178666153366527023853309337277434401908482263870114587089860933537232819516982093396003031946153965758491560975429053409480173146271320739656229740187696065, 9249570885476435338899914576570935661987481637355417938261120011514757345233804256001682045300301634765737901361864870371494460619273419305309361326519186208153261878490329778586854914814287099498781709591113639679462510077361718469870138963225681107227562575371853205517148738487118596246062477964365472137380927309580952182052796348786118565513528797119445976510782415498086862108069392086890954396516870688118192666782139168208329712941122013352432940556313342768805499547838097827800884518087274081963287475462709262517170249918331972053399226896747849967024084376117047012924586852900937169329003040225732177791186922851349653319742047765902539641445167398822343576543114043836505870607219945655488426506992455137037737325551223854375903463240233753667689974016057536339621660636495536496197456612909338715931759390248772626666947256233353747147718399473554021017114920766545425908086551738245527042179721625214640587233205190993466944225847329594141774629166658358697459013825595361193756029094148966735870197609051157804147530270979772853319223465993108314634922344881738487967201155624787439228836317655976601489766181125465511168171692456703764788880132461831453250630651071414359169464764292012182130575358187228403420217232790834628508393100372688903446046799979127061575863434788644727711097433079437587055855537598000865419611173595438021044116169799327838901342807293597743967293280981364939669112362499453545767495824488540979641980779301477703743576776088757859572658542699263349781008039309613805548671213467948172054094876382336796135969277140375251949423596394139730549470019114620643768575783733058526580728755871581275939732016079160203518676751955760318692863065972131068176180169888543550334302322894485283421370566523874059422739565023545700260112499597872967998843771984772900013458489935531489292831207360748016085413364677695349305453628932261263447472279174309265606452628946578261008541698290403712398333868712119582204935588286992909621868446020691295336105449216749056841919695307313498269708080029425664252892151573094538003731417617258757459801821942418239163746475990176252053617385899332385667005418525124953883620277133177491205140513718866001018652459575355012786531117541644358642317898244181760888865933971094540486055951465604906577920053196136810170238570032612009955824545658424351876974033692688144428369954881110758607796426810404255077780854237687323538757657666531953851493614763309499921586756986660485222261243945632514996285573050946160189223309507784381120784952382641403773782244168011249147249207464304922782544379289819240552903044469658849873679296421904816351277150269593234776522880467255779589573513880976115310124884393271275900340254750035736008298264069421640028512225122876496019790878750858097738464375441407759779543531025277155926028497774595191852539154861705508421767236156740121336433164805201767382684942145156948302158076230282114145821587042493496832090130242545632314366294101708033412545980259957062762864160529848524254353878268838870672000752802429850908698307203222543959821820013280916815272719836516745079861876257992140520569832293642984498541384658721549172429073652343787006383288545626125473691182923435026734579521987916690065060372016426023351210832229256063761812662470134938768306295102877802042103213729329562159570866734302060738677970560584654421317169266140599723402302070497738654041950324681784906927515193925769369716439360388334591352619382356841810758472630342038327666878405581506530361636364785047922753505483265337865763111396090987153334536402573161736992815755809604820371887348350668500942354758036677940373359496750340717638401355637908970967949048322878399268768387783360415084982970920590786814674019576680122271805712954137712359156947395578958852913075686338638911801711692536288196501075496636753647208278288717683296527961040160914306012121469240991227878127930088110868448149385002500075205165133256446648765516517615012109946675566656247959806709112061230847261375205174700376917472794786802372947763218728134074233270784949268974603385138365781971237231869657776933256894655875648240119774854281533276109646421088345835231346538749749749432889379759688064707110075541026818900161744136207860227982707853053121228999898518401309640378377474969075744791199520017773646133196004453119761343794002213754623074457384418115484002133026774791390372596905283677037385835371856761610404147474063298285093897400940353709518777197948918309390099828428351183062674670884604328674723457176432895680375090120320840620322278590337219392125734489153890942081888482483509588867420481420411894242085151063218157267005660707804753484758709426831752866844636843965977671003841155365818407607422584002941588084570914002297938806436369036889904797129081615331550850851974315238242582860643229112231769381355569968563031521494531999725882676600500901720133339644033248115606408662244782152546411058079222858750153664749727429264923939086346, 13452280773545648224570568479412913272775380985274120011241208150217960732731578552272346948725591461742168175518681296370796456077580787250056230038630461540506509171482423469525662222206031563598540474579256231760311088030147790708548373719483369791227184848101786750805687998762285198968454914967703651387111808610125621837833654522963542678147323729532203393329330097628221958884083792435295761379108772900774569545643281037168210315269921798274208877466490712283558458268356036913656435175619076129872127531694938166653565879199883657892186436995676314767488300152179585762263125794640430144265991479203215635054566724714637548913965547668648861330216244123872140070607932050166394078182931908935991885012150612432937444604551231951730190005237929336185994454473143701445596146845675832919217006175995814956535502301813564710557160877764708185442124157218650695215830558364345158963529598883584626517188115603794748131027632120202629124411721470977593305684126892848700010870757278627391730202488439798875821633376866727417822657788959993325014024873903139798272578236104042450317191076284655905816440548707734156160895845389580430622451715289263829884603250643037911273508964504559035630685802242613529472581814453527691333221603432604977126605860419433058825436828265946516549350420461878704813411804404667734700965528559391400656970341338556481088830464517169554100061376122424529152393701352997679421489423434833385687356048987151011699029985123634708675135927691279505865681237377509432721215594111691382935044577369682364308361071984965860750338032062565791598374078565362736010342193801746954142532997725409538777477342034964361442761844477122954884921082808678079212425145032248518862506323529917509028921320292148305611467681404192811686898253555845976167565513408212424998950809844094512666978380988278417584271433034172611377617977032743601992125710195741732664928405627434351395648716050776292904137428799730685235837931109542273814063869200088024763237237265570606699106758198520861984511457606543226324525223000518452063150130937854916993371458644544621089494885498217113258628420936277369306550677321317821081052020857804075202334334861083498477523530577852114473190667799894232135295223024558292269823395512515811953578354682856884974867018399569495078771975586754007769875823064540691953403194062740957574094384314518448393176012772798196022836474464377202943229244151355045604828029421612445157491673951092947024596467412330087813087735436911410608232754369173316480756050804806809919139032737206451716074774000205765370958134998989191447559113203046554098456640265223883690963044429341116861987221171036274770049998939902706927423308841802377626376187224580151366367497255198927996026700499782976455175715759498922128162168057417175414852236149529123102326038899296775204224005019965844606743490095952030124684625624306608602667002020345888432499352360810649239263147183474304230312859309493261687251387498183007974482135723179431830034997294596393360492619544393020779219449920746453317297857921381167682696306943804634015130847070831333028663421350432192561222399574718227967221922418555356969242203883598886908281307266156673128891657421185313907918150483806756298111913494377188222625330374730957187679984489575237000234048609428301137309810503532311107893749156025503690205024791941688861150293621429498767665484050775661893930452934370468935893114323887976902993004055724841870924914179536191781583713246234099711645767533953579363891166038200486051577911905473915825170721874017592255784655468994010719694147230009305488638046984970865567650106666874430040168611467010800084345830075153115521435668503651885824190964518155322802060029620559070829613946630813967415536611644594026236873826030610401556448379487628721768001401792391249342467026791064928583257351633115974791844486271043786043949380153410064931747982627850536265539532620575925139366784702100023408068356067435453836015227797572197949920218959076336707138086840847256167262421064788531977670455504161973474519969122809186096197822196877668763169566203827811148514048509743898679977668586036955507884410347872412405208239115444983422017391035549498936654832249042473103319007959999356187193083073151677740090998323129391898488252933057900931137022016514648528549678114221708303664927618237623853709240626356843958048218883927008805554681970779427705689779901612120451803963210280492872710150687828442488507189254027965199416242830347938543398250729243450713803054548772030596404363637327692670183658883492093426460269979084191842688942992034740363119022043036265089994287909624020487230301058772476493342936489437134855533375663625425594298469882877310022280712213087612800318172907261755017758594246880923896683576353044567578192491494137104760216188535082882620434013446681098544712699351965157361047135874933254597117758384870110078106902578108060613426288503854286402822765934533261318464820839203281070334506235493020504954974883, 2601429990250577960625067148661144670813868212178048283367855425812724257972071778988903042051920728328476145393693987344519594002889367274497446065994181657245478963215804842539680821180035450732938128991012631587055040966946214572967856662124640506600384122733613996832983761263888802910519234942310232749067567672885073164029383934903645745780690732845294566722208494221097356746528550909320636192680628260918427232357865470733859263144010140843583018813089870659818991548361847395617906578403063983538214071005873356278696048513406562578619486505928606222182691553999030282814694903956872294034125298345489376898223430389259184085569638501777915846577487592087404493712034383626227189773104212436471569031022487135756063423055885589627030057477622402371217565493862641447832197761802717126980885753360983584392043278816328349935131700574332160933644321608866282721908511670165124418408530168577312032397708173562843381359070123918654269978038033112635043995337860664185193151663157136001514669980359924987325924058990513417375743849627321775675084285750763774932016517360417394197172905306851693056571000647037200313678779148400989759756875113549421772928112069146810021789345990164585579597625883015167053986635926535459745538470065424036058565444838523039091931126146779121559503990267530354419744931963453596874994278877215348989750921391102314976282244195627168582192750060907998865945575347620364852132328378570872127537312434157513344406314149658432028176356988240982248614067290714641925374321009426907443055692731725300048072203586973025286849121027572784078919467125981295277197671484270181003556080769889615952098985788741828435751950278452592001023850511253586774128482045546246420892695501481083810732114887443185964030904000093423242396089207721422836973592299090542062446957625486838960682262934163919930743867043650103443046538156724966219540782547552638865720502458770347522010385771692836953935312996785689263171178788212787526332647589862412735752826114867251919079195723759390555718355886264785117855012258147429156414703256614979083034564019436740978298474137991721222157743867349146949452527200634793977253584411176342979328319472130716876500988157862544520091458976473047968658055457649078763132957408926877513461208588264761574147059204882173952244369592938042493625517343799595933870281141668219174597883920171677752763963247727074379803288140610014577063716279106318498355823129838647905287631860071431444282585402328987886548671615369865965921856310170425858928413356215692692418430991237857751904713542781490712948609739318938572136293379247396631450982048329606648589153152566775121872950275497658681335817991976238808108368480448579648122424380658360392600941340271751923400618989223575220705491573115276873016548775604607197475839991388723014456141312660872114477432830797702025878054376744668032114184246055866137564708591680506992375487836381191325598208882739108175411335106818094640931261128672189076811106299389194045608503697280754648526286965517392942118839411157497297091244637791217430871609026659698338716080147497445588387086400455839155451011125829077566175152987281048115338041699784968561367181560800195109051717073039199257442862043646987559416248589065665331911364408031985490916020877225568165480016917394329896052050294846130944630595185974211837667201305205750073476176752738144919808667847899412218065459699298513063224455982836038124889744015761832228790615711646546064274689192869824527311794895733948035918455533215936701748531054615100024875853067399384023236074765249911386566741959378814146191141781269760010471760521860082810849655503540700550488273401073762710608088215290041983834955736128871109307218756634878166361201009168514561382786707880983702453646185982355113401605090837128168588044401444239577407985802022793993894767703359775632737286775210091441067744697344388092506250630414003140476834136594928291164583617406802245552194499681563552238827746297836159389615910299330406567640458418635644723989996116088495212646094740869277113785452253950320900883815970114099549616390715870572827404407816632751735792148155862891804136660052951799638562708554881210720349764865582613463702921099364686130682852062332375703610636362798092075756011287998927694600152381894785469980263021895593937390227303220375415050901259488567571233107642962473382494348110173445753774719867926633976308517018847401739322273694433440550403574144380993256925993320654481499157725172308415129998869726091237516203321358806334196805333461434827100952293609150916563937133811019044391778761856912246241801133225582025629962317451006531966883082012692334606398552290401164857130879090582276196514857341948265941327355063764683112554936483058591563696817106018413586295779748062876914940272400608363375799502489814454586035158663302662355552158840486831040910780748597231662083093653681085400950629904407582413454370608293889022691681531259036334611022568898685486275847440822380771430915, 11067091533684866603005459007501767472296672694869626875154587912634574868499665026977829900534710152631668263778844973141481430621724018939043777822775797506387890685592292645902470919953055965350044790059762601084548490585025916344173346417044378381212156243710129540888878141863564906717806825614139497939975717254757324690590479959321764257122386075033788812464172267990421038428078944342701520965259113816657509728137522552435100124080880966827713185108820463657552265098698450277915859044625238687241767597884058945393675182421230185431694284476396299385252530349000585232207328853691886408162171651767503974465425877830429197989658108908769948483162019061549686187256141071757909044547315697134938148876970405615131361517110684411791118488756071169839516506159050793768060899616709835336877884830557685174942393768654275303031941436097719634100751449950224821999571704781959913289039707598852657340352788308010767439539121329170452656836171836227604052262833182492775312154965225651400589743719400016124399185802899396702246682434622218996430410894956699549853882912005925862598364213291191847608595388337759500764541012420490891540048279566163774285656189063000540731815337063502912219704985796794497296551080712511269132134661429341515277793090551555905532493393260308908280127081000703146293869389134585729518161080694603055550477990289543261418521133079055987093829603581795227402805404336641006601030661109465968091221725651603757581733557253602512508167721170158836415549752329811805780192278673693048100543195869914225874635910164987518320637762203708846320226115854102176238994275198802548780545540432656925616268044598673906245840681293279492229385718172951887077327549878172798609561914856833686851419714185735123431706727424199120127507579043293471376985805190363947480250440893427585046306099819791874100079385143693239914539005225591051865445909469092297089575243023029530083324729151779274498363284216195605964233094675465856659673950539042243625372603607500882273451373557957854050832846637839789148779751706891822802825482460629592218625779286532079615664774603183370564846276370826193329543892561138608525078272102492303366146728552576172398095700683047772213012661220854283030004389447162910307530298996453261643313915973624858172628213332284032218996482690384948741898089896524519410947270481951076323138184556405017489608987680497950636609722917163540701119336395019265677831852201337849933882626310396890319700287146433067639821541750129022704348717958571412650669761254764276051821870630063904472173113221017550569627011056115307688998738328294185468543045297526624305915702719661406439041738659648502368979690720264602748077909872974563170203994395305429599959637742204348236472892446223221221759953067193643402818625390046862754624513380009739620994927322895604918444273040803402123732827998133562182603133282699041169441351729503823717434539849702583155267962289571375780830660479118331456027136478020860025628200383186045696741178454505108856631392421000426275946772536464350195504006722187176534833373827971114334418556759899059809035816649345159937101518702345737166306357804999923639472847682632753204106313508556835483738933350096459105175547412095783885788669524849082989270091620715154037921446184369803530397656535177568551777253768909614370573956199205099191896210286166180282517778767186136030353749105458103756238680332998120348908170730478286273743739884196331694963785539583308756216417959969810985874100874920782806660327372839992816614952934959733908607844612973812025843440933778886271124823003705594582276672010818150845365423787668434163360286288632480907447901994022539994829419893042676810667673726896046218998446100482454178036662813629182369777574805206344481496938543606562066550021416593564944896662759000326820886365885761366753559234710087835579947215099009081228785947713371470836007818180164935049938248302864570388376544548732882450350077273313367125691999366729238125476098752075696668610553766057859919175454550631062533770465984582443612268130753528810556175807499882262207630282301685734819164305099853977716044457837351262648951267326431016286305956984325180563284568638485698600220349700046161308627645645332879555179555067221205496002667069038625687144526115196334182590666857778962645037721977273123082241781833228765222025458290810141445844681657821897914234235687416477463264528098928001588674625175862191489496398328362712693942362985272884792822228024017843634184792708595235965121116255523835413894529870295639517557233718239888806676147704151522144293705051751747995665481962816183989415513655391352743447144027580674286473574050656592876067700374527485012486369547153375018207199441504877326678177029611885133410010040915104202659943973967381157794716116162174329288731583872010192075762224986329705450476823500004317537423524688457919939502584246061251214350029412121274959859597409429238062229789566878526205004251623782361753151673196830147499753875, 10514988915140540253982735687371623334652217595760679620968836270493955625194256282815500070600859624668903421265671198956057759235125834628781238873117004360764889787499773265552115811515864444368673259918957857093732661308395308899088053832243099346025411699714441312308913245201804793556086416290372911804449837614063711783510116543227940713756052495720196032046876315362047809134400725665736700647558618111554468230068418244039618390304302889035772999196471588692191187708139370371388525095074280158255708336003081926584911576669853720527004973370226185453891888166607332120403323184410586035045959630319946501798524681330951358719313853246418176847914814679615449008940647345934118787764484746655380986425536425406838460257076704151188518817891651030919920683883999678861896663790197691180236719891015200323776269412327395516065662709704207398145679857661259675580061980084034348485090497565855930140495244335239623436247392110669278216665197784692645772230385698213930922520314953726682654918289002194407396864425862983688229536954483198699232858031622050771912408763288264022573729956633210203683603782875791060892399274656473397797840551414922870572426613862850284966991234310109112706999418155016733156206147469731197575120198016421046639844518228437939874311261273229617612517434704960400230531110099253494809212852605028010933100900655722312555308934926412047770647559231539280819083165992701551860324101908199467930875503727757110045787308424671609815635599001972315866846132601116093601794901289021654791179162506286386683562176456745836625059991578688495784821257360677614849880552445568126356304830843709332188522310560600354513438527784760866064584788906242903791682304873865348312445280026408004611189296995242540510618851068654339319428274212426278609080516603505888390464722676895562419565891471228549351339346918204715449071359884827454708554651424179043713348158117594886898466869028365180574862405182837136098670889829573796265170843649766549134630751564876564549310240963714573245635841541334847243254022507844022914645010584037864034110348143560966580939371711931804262702226115749172057460496508403918696108424023800978909577617079649975626682877229166486464773498574889818344826205506978523968936352727542146680333310277805637941192676192435676168458766667788166702607071484998564593455461612021919234913882556290759844412943926985956364144520073041518455026025074230767209468051651384094899702720710508484161292347463744667792473194032815911992716378744863606011064408990010888568476650836813016058424312003420342466066693870632531311585869917971344714407338071923633529694385137183639150171023183810099832410135469737402318993664655671215290880000596001319508967389596209038159586997845416204112278950963746221674188400435349264147282352928136259942720025355019122445028901922126217995051336987056293186312432365939536900417794308519226444579883713138027474679849480303279951305994114629270828711347712588085581244690846156917868539585636740880719447245066063741055891194024629178664916103246455672863018640545295271511671931880488796907724633951823551084393693195967165276266809492509012167747801425599708745300766576079161763859226270120735569376430086445947439120215536135526284783180505923713125852633537486058314093599975283586910555602343477320193033392925622360929920512917687886155656556392321169471842108239973638755428795037025956681966419502048117714892508758743406299293529554373412842305804957354254294464339473465092703265689788307698300733133363282398176229542293092749970611743900660083335313519842712195878158063086209720530161454690330125083337326289869294883980625690387576072156278619529369523904042853914833913879991093795432244675237008286765444217993253965136027317692645899416848539769818726818214031129884019760656990324678836816645992250249113823811781972948073992400585936881513107027309109698140451488123829093600021336514587698081076013540582942847931970793065242348178335876860527443607571755847545483643247570386862344196719479834762328321784964666651931700560341851362087992852061355451961639698498964460590936364372153659252225721041624591808645172655317058610802135741490669753091321979022755336323097151609161286989645770746783708014292989694180021451053522562318358894730482469293191866312814505844028760169384494670594494951600359720802756765157659327548647350302599977802580850273227052649583138214530627633237329524915093124208286069418730578533817227562812514883745840109858870332306949376989805461284552342648876911631764878805373223428395536128810345500224719474683878686098283027182930073792009361659057445974728618088427134707199309336776910520389569889885598985199947060518342410476671743626561841732826786064105987640585319914629258182830312029613790139005266758506726856472090501356297899172323510863080432515203776008831172210335337925823445069641052322773646303974378750007013477642957256574953738360035044268408367141816058168351286741609160455893049, 1499138390381994187478613441316360433354337009072477306334708156668146675430234301404767412667845945285417972519944795492850258959876560173871803990898860741708232911939550601686000551044292444669428912985331480067784328442369752659682672306150069420221325688940256223584810734438172390073024285033017483778442450682149859341637371265444879261428144860519597392812897650304658383871353904419323983344633249524550129967893656698882564100011593393202366793947459782108253975705908536652777593512092910471630389240264145289834636689532609799377521380942338064246049447364758666343142594965313033702087537895684531745256696357137222546934869748524165656885562113307101614543447156894023656551864766533373974383419197847981826323373976927412237414709869960972346659523326734141616269536427001660798056238787211577584687910021154900713718745865294352247640499222935987720465824210244170005890612057140638631774520119264355898616099994433400770288926333383668548734080216524970080915383602393778092158413516407580861744245412595864979715862341805342229923921434324767744702621782060622202053415220581942947423161314324583362177145977109973387336241444119024674999048990812196618683943339096480757427149314653725918404025775380526023445953597483107974120058297219222838924232055016727726297916363226819967169667164307415320525192904129425825875995463759749804200512442561021933278532156411430076787877323607361343187648590794855172047141724431734419970084406776021785099416704336856422060392328997867503802269045382486944889354922911405698767537557592513895269110821620445507844017266197822469361352450225236803136551528153940239056782474054893127960067565659249139532020108747725347822141958144905507389217193031028338867172558818327768879329348224190174018568662072743947893566262259613108391941702732854975076568641717013824582329170373255821038370503594405273054658550329702451052752397439033400840861628820446851276786068832288687811247730826403888877488811965494344197046680936516374755260262924108283895138543666233056939004231033804876976440142836220344114919314489275153371714424853278742276079189308721717702209715322094117157711522853738134227693623062030576215732334129744327818239789422647944237218676123867154157691238286479663356145956629085789454579689327029076419550972868962733364143234030788964861335228950719143495692855209106828750482814931854582251598257736706066491315845863992218491174739058239821956677766597125860370262066972797621528033703332248891969958255914329300508623163355678715763808916719925450868026424217739322538637477672305416970652915757080523403970438370013234690916881444706789200248360663989513299667685373651256281185985783459835088956622666468741752888893135214053606926017357782652816466614943648222397167349100428459807496416996511743457860046870000555553345958766104175145118335667022230703846330264039779499224360764039678934589207663733906321686167757473599264846646078551383655760406471595817802078416424579595015962277089636786372162954082473792392285188613916674631973778435726630624625314110209739337601869634163529060906787558165124212852166148334610085546419676804068667869623458448956303884716095913366928316865692766613648136572381758047156789009506313533742467731412312406137598179292111355854023978929961032309689846074561767236122888399079608098039298623255606174067868777770964358097903356467397597471383971714048609605343230582466629543990463210061155946658573862375716511720096202572397909517304660384277324363494320440246681140860461556729882300449771822468233851489097438558351236791559256537327418278298479318420279333194704597084721751003037816682653995386733057568438281722194015860274598336098946372097787735160419730478516960436164000222020404771491424215581807359486515573085834610370356998323246675701421271348175732734601267148085561779355227655021702756178261720615149690103150792468193828951763537399632143999730407034141039942577394756366338040374366811834070435444830260051175292108187740120904432218518909302412520626939486783165085969394799146953068806782916912213611550028899367390824899991748014944554681889927011151268507697768870337310565366493467905902649466606546298433957662464003914019814712135751850492489999864792668029445483995797733568323775933670803229518746335656947497631247484238126356766904900602432377878479239966141452589859237448220949649224739443543097261869779198969546319268731900595879189413767545727601072557407632730473647554207658600583931214580632848803947479794295488592567799216952298870568080091242540512987532617905526579451121654930513557049134521045707391945371947876762050700030476453209834078897461571075555099284759463034049048803947980367885447370339126889446961199160162070433615631460550529132664535907994039546840827554905649691484491332381405828169273468389276059307829288225549724108611619205311547934166663829194936774057705122053405015315442562509831182152074145186477868492164964222110496384355183177775264150, 2189570758783195649272541699026898533986130824833441235557742791680181860966221227601167519886311441593643316484251404929254242150730191830567069765815295887404629066340381508802265384802015353966351389801729477022986873993894120145653309313073780993091183114702634544982462000136123831494858587965668200363034512004110789210564622117173274648993177037710001067437730401773735397595396485891107115318669894919851865170684896830221736729711493768138106698163437971343251362254955360859786049306129757675816501030663309788309121007837748292049088006022131788044346237604368373986232755718828423260589120994263184230142906398257514351851208201631898212316573502817250462619879035253318049388235659742852945438587517938928455198509182924222843703223573678383910602028681283842546976438769474088185573718843583748907878091585998360728651598755882835608100815145791466934176383942628120584129755139105984011377136625662821339337293761882638785898717350822288504697276158153187343647855654986180048480162912496995980014007513268741632327423386194554301283442557228962827728885544449713200733622814545260159933484572819990066681729252672670256514026802605010247125973292803124795805611136575279503676032238404087436775398886909038757934454900524035806059060805141737247276820118324362266566772054258529946661709349386321404870588748529740284912327077408658449245682703697968403581785413063051678948507050921997246086841123790052863180650388586505712454945982276870167058559777370510715305584432091432147443985131730028918198083781630720693091149811164747396275480546505331430059854810291850937552363272626949973407125471522967449573941466119699114580148912624665066110469643183040532613522014569923748070385794420966103776092693788891758742299107047031792574913316170103553673467151175444478169706008427892082863245173765133882976791863326829546983740218957916708670669868821729381149488272982561774878706428711095472733981828721664018439149536922049909672678977894415774857489317554885727169081283667713544257879912573603015132297608585433255943494954952894400898740894770084919246510664963855266914444612442143313754422752766167651229761859928770652726831442946621921686939913059548753387352968922158122653816470909987604816691430292946293983864840763200454244488903860398041803993333835701730287287406689892843954332382439317693119045320371238278039107979275225449932146390367558038015040839443938760901855299853841053442882837347180423377022746484771286588966591010225304158270425000149534668256856081074447367506799258098099217240536498247987975422553581889795565556543637191027193470772612323223301693434046125521300520371694027390735000937943942892126360905624691843192403003851706911955529632810345148915817417023803536330230434691050383271727438392038815451510846251735166600490503422916769527115497138173775835098376508297847170021885303424162750492875630374967318872446205586490837782095228448002740764541823721565206827078082669264347400933159717535488991291103147927217276017276829942722483616592056687852118005720479202633449586244418386152236320239151531965646040610351441487457657349826081729806084713449486134498435160875786448729782302504346458343504809170144116385533844537693677369582540870448078971434113369446980410471175543617638079380998654151683210720250412007046641012709125897112992472964065027840192151110641968598457532606775926154850237680598105330014868664225360818846490718516025774586763122444719102408038231336151911980854443867692024963218012954136045284046535619013100508220980328886907853321155832521879422504495894343021092319308229986445388522681052932207394517603308933601881863694805214314742403341607796137352163615569982615258012575338297298830411864381675391275520535998866476078909360139631465620144690466808764556191018703220448565634508218924762638873336932797847780829483407570243782878696361347319216934272985371144719766544164012783128376570412579229287129312008017218579553314687861588639608196978285358525084201851427918298371062452051399367737487201617670675819804440245365279706226945667060088622194241712955621786007045097297033858201955522878531281052503110961640835521637140597989949227540574954556369810611632762018369460076078788263871558826114297946649834484407409002216182937582142599620969472409188139404138312336225781055630026892750919017117985643680021133868916743918077803750798663168543284837922779481811300096575818867127535778051837379709686328246653241535755071463501905209258514781713904910034300109172881113660085002468299162930104438438002724599655091276049579672627050733014515421259814092583094276731329606982211530219982060728768976044204116154952038456682940635068832746401118107061837121183080164845219911656667243105289687493058286984902146971173085580921022994745142319179982815086276818935447860463812731053241283531659203145722136514552778879961365384395518363272086687002036905190251608650182816571301535751222803829875533131212636674128572106899153333, 3718383123277769502816610189414099385198860946888050805754809795586354589402786495478528967968612969694455740591576768951141657482770752152105212081775776048098154008362026167698358386079004393742510108523682669639286495899786195331370902948692361642858702618737484096836895250933959156787719859749247119267930597683545702712500410192548710411251582219315026668245250844910696116018271751727704749680376467149032246499744046955132082434333085834800101717520025250629681197139824436123978479588471020279981988808515026515937628406519153527149174545192329211268844759832588234034963061674314750383790141835194883806273146350996253485051550880532827580532162994526659023448641034404989770530429634588073159532296680530506797470361534669050655788965132980340485216799095849973765773216021909082514533792826738068672483925594194639374508628662421316880949785768928991592210258448998017586998914544235533549670705728169324529945501017529269043713721654074707339907093624350672614190134190728713698371181413119689149031339943912704874331451053494387482816503583358741298342580456632121221442833585949198642201314917938120865303749959313691373708673412733131195739872173673370373994594035431095419832378139180745483710260520170283816220742663547230578540122405162959852925605924533076237557164041862292436130204947930046657961998481268386474658123648901925735818592771890394074662656471812166297788748212798328438262401325621360851107287287290087882980105562189174054388045226209472328460431404060034395699097218532979477313817714714398690264009590601704260198289738032075493693635110972604873306395419009938005654582624417871066965842777750478905511851979312666193866295544256945801796836740589349777145470251020358984617968250051831912225927331532805050604479448889276136729480403894051275093990028618943999224454039798597513079207176382944603784908173083846626823849788465456982058475616899346608360592412146768925348474032309226949411315489579262043825657171293440655912532405934665197886806083349724102482717697964005246910236190099859584338389377923003949270538415165632464048198177998891176262885178259596370161688175845290271843227763447794370226557112165753035050873139635006727197918418955342998951382128605398699565270843066613116430025750812944567667575105880917161213115381151276892224857974078727968257737324368288142810343670046749361983134110495518451998183290992085730550997826100282351281884251114185490707537407592086936821582710943495774533879997724828444554235763510332878875816845060239642434916675918603067729121569918985264645653877987988897496204326178359785217765098263064066332354460589040246499094937926386067803696014943053913059150492441194042694381689042038684518894892061515442286592021097557614768289925635889672098893087554761688153224322922826360088389949740922716390712035142955374733048103952647637541803674193410190002608395646161441389519904793522383555068611491873338694377033669045705687683656302808138058132948244438847658412831742477403582579260866840636033475719556416334063074596745990884722346468455432267075259349096799304131726075928045031767775341851414747525269024431461615008949203092768502970223676603713461599637419505690738046037058864555671814932340531368104215415649128610770455729416559568466080797626374035480783474577222875033236720416911189516814811816108065004354573802635734456340804842110377465296951677556456905796926327879847406332829889615902921033109638162697965481066830890625687090305113093535881186135897702691495909193513826940493707042107498638710292098001038392342736877498434612014296149906370645806533745423802573083899490315204577100180653320488985577170338999990852339320677939270117776212968533084111859333369264529880867680366202084540029259716012565945184492944482595271277273334010416297339488990596244906827807370625719751120124217456465315515623305842898642673535564218006595812661208306248481581252659062863279131486403677373548553495173547130201873234496129461758889739817488047288812529062950106121226403300576497526113988415058856652490153059256003509816586543678097916551875565002334722352490973837680098822187922900369299678509787733160548342400229627238465675933591585510080279264052050050154489232462131565020249453421588080335926071289005559552241330790571577049878936752194726814086834739237939706145892608623061454741130888951566634306496007887534336123024326681251401951347538109696402735928207688078886188391862492437539542832112262429309346893448024470404187061473975462759548715127982243829629131887917148961636397367343825288434566103277113928178559762514552277943399139247974188521237518509699992712150315186386736741412201961942344516123122956513711549440148213237599878505639244815534214160508947719198215887441147957304915731915277555756439651057047587513828878530345191738356808989539833003080792719322124338815111743408623695733040281217408398073178041526774554399023366528766929937143750157050558622242646467000322167416422675991, 11163649227930478194437695923301253074787287085409370961632427598609461070108717308176248519889117911586939147819108351058273352969319319361601969906820655375698718840749445016044954866086860118565798223272378046139783716312812962202772731358228863816690286170780479214578266272412871370233192625562804102183820786359372808195277024352007486469141101111541040726840531880302225251467884234867971863445346555218543150851376837223205032589038171631917840217093258064604701770912411651578487445610965378457708877921512090418400420648388820769488402612410516495894112513398586868793503263976941776243185990687639097704420309604746823157413192951628977518453669950431135421336899330852822394911161138625725293881981404287436676971627093481391975354851189741305429745470259772050421479999898100995149378460946188063168808093513115517298770539919308896173473241661299238298558483651813762832640017720610834891094709482952197981902327384458201458444558606573513200358730948807076802720552639257339528879140374509001341959498638755745698488605208495066002673876490856223728628384615562959019866494343542907117273282964293475665756154024221297556365597128538624139287927853502789982878959969449316693434669443548763971296979926981662893592571094937376008124251301279987194778567470399766240412149698049279139751583641437838911765477288674483361232777532737479444915318931500158236721073248255096013039614334302503773280903003990707891514396991311360821382677544493150283097242798529941379537411460253346607432355328883038986110189690261463525194334289467458544725268319337877024037235173457459941629601589149804602611519670145676425056084358812232025091979614196948987887423724228328247723792099831686743166670476540417964266809154115843665942302624469308138794453544700273372244964623268904137693562142749963892042068964367416355436206364163216614636651572053130946435220378602042441274382987525110921617201575387357463870585460228221307074465163113908311527620876991987725420075329457192159941305314639350395264372541288895302139658915531353294910519254158710072033196115327529244305651516095876412973017553838079198112482831777023509323105263645001346222335325030709252624622067639446225191659741532057256647291055345285450051117764576835278795632417227653606111514713450877014931138653385963618976121645796176935047346558960431877458773731642401887876487883988654314253282520550042971346623607650440069006170284667747230765695910135557732472973270682414686561086083855375992126094072195938240412313852110174100871321669210652489929180090602851730112331152651857852906455848346520726752555346135506938157188612212734255522401291881465599992408197127776467631696525445170614738111560961200109310469179746934591419406041422573274457615841344539442182440117709383799491801197858581112209974847013912288227915201985912796519967414965796750891150161771378188951697960374095667315101938611258131413768416795197809325473903600438372804139409478571434290835069174269775423468744602816401708191243238158932623047567055332850273809239504935805093552885908569034673293494377388348856673057411975670241954821369199551617588487603629769074117001259955036196169617280387865296919799298694712936371362919194945038660627538045798655958914712080059557291511152684813554607749821504217891369378426830473789149951683188230590446073888776150167562963578617316292743539956545771913382094726868869008588358591395554970181060674509779508730800783979673720104808567374472274474572418107230765995112877779929427702066311988324345057671856201174287196569924270436568075648436090826960469228698470110118726514293547238869989746854488544712415787990013133660335861513516617764163073019338942907392849238460575748270203360088284227256572910399727922697226575505292130446372828029066122895016882886848727653986014162406499717840643242544305371926197165849328706538989581351515122100432803763358877961805952497139521392234647466432949181817064999148954166364792880323020513330088517157326855997214378966531976090321489973111088370270941678102273605971413744572870652753354815142047540848900703842969160334468948249274380387694882195038611575566172341815520119573424957746179830846657708406753651658808172576020006420735622633624677569379151754400398584264730508719754401903863049010498216972390308107476564948609477092383642884533265366236665844968475475742828273584719851254626024527617951544864661491590268601644653144793887068024497955337203996909755380049557220878083869541127938512688670599556748692620572538524286571525602240482936263849525526087493593812935596948357574152449215894770412671980868123062625483649266269578894564770456116296879070892593639097279781651241923410367115578704154711185099421602899933742379541279328824629393396423085897776222523127844647560322976491810730431828801717177108051616063538293852808276092853308619513730836694312755024409180448981914979806265478045173347945817228333395561491353308863131030734528702725747713751592689737, 3671826503121874579368948952035219498725867520078395868386261984451103490036654022972655217416351605400400025640847983641033631427253593658546571112088966390265354570423583229295076195608052705738751885426161516383941832974713623085870625842157378529887121499805943938007681635085738888558306995494835344738874924116057545126201900315493721587022607173109745925547316681468768232396655619927550774365879221004306840258417197865415579417785399703649188596988154906562980280541666430559933474251007603618647820447104982241282466266934458417642330829382012003618960694815162586410921536105751413966085091786399264994270213797884566872083637393664442966924778041740174139153523183104834702284163433397298428790910809987012272344301802409466676796526794831859859151694488918937188492495505958782947978317155330392232442304275604239231899435576035899305198215119774264042499808109439040858867156531315133413377548148453389203293230328178352064297308975959113373306555641517592090485754421442272860801673415209376376582652459522269102937539393204429516579357178490139019701741144045578497932103071246503305495440567985910179205391320583412628300876365397936106399606905910625887171635811053761806659456415372238717464434722143179690327806106112238371531895053043872015522793779793922790218000266866213264293831410767247540067871761456939662179911532506565308530825807721570105460501148818739826986215346054279147628056419442724758110380329206165841482632096414109568317261042930646788090186626545685243385447906560494398371840317410674369541737335665677655930233554364049121945487469258253093827044829491681370514049690603968950653876963766731562051816438099519379387386486092013218813363886275095437919793716039783529981726982929253405636598402205861751123328073483182217145914849328149474695689404295840433099494450823650995005612132986382910560581758092350341653439199887885291219712343812136392846891193438500971239531872788339191767699860650780704130564929844429814806120098361512124183246104956036389224378464090995412774153056304037504258995930906203284635001273545447101777904072741907792166583532059763539873895355437134006788286397056719489111787587107074874410791579970550671642727095856382301773194829952420252906540382223041355575779237548964773002858732276106769571430896819928906624438116601903759644345912739219867319249828264298828134791402185845837208526463094539861683998709401526366375893669652159166553156546671589051501332431069767812652969393378909713867398359695177977746068473325791280876104087946409091758724560795118531886920972358748750030733690390580837369823354030658084703575789108895572231848678527682328993738336518123444452136790894401012256543531507960064550269409970970931697953535565411394074858405668406681395866023820430944286504020080759417293236052291431645812197562311511382241243559999875971483667751014664697740701327425742699004969426564004804672761966024808006553822389886646443101951784116336823883122894350980937568763583430288375381952477458621172003215551651467043685044273420124264039528833084835168055286586150687209025748689475112139770563849952889104834463105843267265127523918824542281302727472644154841754702343712150048401278384699853866629804819217204073898207102994125556431216623099626810186691082498999634879961688347394092722458378505144331302204500642298637588156232651136065068765813763409652467357796606244064523989638388041615785722066720619815090893428930958614383220188221651910014199670086328741640837799948276871115248454647600175472284675888549510853259683483792022917889999655900786637795828966399643218958437723514300336123187467036242907801340231536585328180611422397594656169681977612786489777285438544496330084683767929107768690253629567105704183422192807616776081721107670398532030889466916048516533666783282567862390324761831434759780793535843231450008840899933192063808648571754990555363242234928629631033870899898849079672584028223404001458457166889523487294945991940386625274926662766166721064416269127707449903350134705171693374286005765936626134168012776039473837265991408531635721837746154461112451828789578235755945921095834733779431066946614827475889611298255708347875022557497275724029683393530353007147572280984699988368288612230375148898918193469261493227865569534312149791477243064888411061066708367801716724924495441059986479233430540229890995313847231866905434851587098609266432955726010856920111505754827690348020497813155721765592461043142338873227502757802771150615741155888880374851630269509190226698485063144911653645218031872224390780031216978440166366829720110421826807016367238280525201461684913483414296053705879689867745113015547435942478248578427068296347645378900809349756420947189702885620908279299503302933945203216244998891503923752293966013215138192730856543551293234454526591383979004841516705299182752911105576039239198314155745982085796547545784779415281700355772885078689208672096026689756861270964268810089743043469937683, 3513799864889878721383972865730699930404250963114533450980125573491935200105947949273928972715961208575002485242096604058465130046909550245414843370858950353260083672868846550144845428897783717906334599732309322525637140910857871717298211250661035486931133163812113164495373465656301657407358402628679898782195487060769456642868678402725740906807072187917633200191212675386196476700097393193965890221582511524929284646641334818386253427334708061652072397649544118289168868851028952185248011160421088018997158856285843732151516496260335999248706399063328436181065825189508295982328478607166030592406008119944047561357570131602779161140046349173518528082185400343027496106845765100163924891588286585665741580245235849213271895784972314596510931131816967166270413235184202244582961183570688022995723212507520500124914842454550746574981812991457720968359784237805603841199563618625553222544347735997306257882051996917391412332588738124462817163330651821581205334911665821528701305175178015844444008954259934718828372005176261425704396170272735284712514461950399683807996276045563297796933753383776683984386699459998815125802848188033461827685243868070141839803018088651462462174106586383233192461295676667228608968183007610071103072251139540476544985210145267728399208610964681506887632614302208683622087391892331122447017293427340505230992966331597633099876057111668492787089988519146817118448441516480413038582241430934934841754483088511429248274917867683167286080117867361823632376655647483703160557986457601380394035472292868380286519850374185432265331780051882995264780049574990859498404392527313272746362754131313693394047034938531390053243804619525196857767332871622621143632033033534138532952199493776376702060943033212425331331474361749756856675015917665155785632159831619782664822812860528837192740722424320067540711623698038793319869409876782510983217187516099859431307781937032379556839464240052569538547325608254437671283496102787021869143923805627902007122610147407746903197262626136348361777105408404743729129674489513427210922476137618092519319184949301245108063504859650795613402848260110303972467942910582835717946248803711371595889025727574442708843265422331193054664831187599807077437750572698068332416552679658916869356738998970120508920341359920261684629302602503639885600810967319121197707120325093172012741515602012256903094766664000004225614152838372562141516859130560908170238517126728946010300382370987486141239788174290220610398574359742030293302559558503878835785509665014274162810851863101694407314742553751145959295804701702754893507456403541652027013531738833139404567928500723107584510925929253145059597638802574533425733007342503237247183503531192518476743651993307637924149825036011307182105807754469577936457853410496263178229116152717840929755843243092780208724088661099038021569688985581536369883994320439913001498642644043300310976203111474748942042669081553743495685563556281366853505976180804527159673889226583748877627549404928963288270058126561983508290829556387993695586357872431124772556827808414941006069917510511485854136922107811155025667475558531097155271477129299888677555160295495459845697535669196811734675857697860949348304550614369580722103317058417907845505194896675708997158236191456262855042562265721823320202087626111344193737400418345548002809627836859316776643043180047818211858660431431641663726073647183492497830278588164333872718313285045741325857554100966225037925893042457990084382331237748025568055987164705253695816928219259053541981034472624019493430582632833839755588228690690546152900688563314054072511664161728251013116610922513826494171128958113007816578183367003443619604564208690448054200698748788011315612895898910019209665039734545152576599246412856487321489361342132747426246672597220555472785164250154056790921627973376652304445189897015823569692527384397293410022087783355702387064062614039630836469141671571397046948045769920248337450843726633152865065644025638713393020685308846256121027667016965132649610009645404584914005647277012944789294042579927475389023083351589097009944588060932644941858605223325538630149779415994482027944540342296073981837008093743581730611676520828090630067991554692769203409128659197320057698067455548015884924232407042232974997744238658983977745740292493640516010113772837157746676794848431227274908988539627104444540037839077947762253439084353265237930010975652593265449373734328499388773081913862962278156132634143248073051124955339551876089632567569805212705816182501924140641043271746140209543798618249047292078175596684943354327861109098771417962219394765344946157244620569212034511400908368833799549377251534144819123166865840900836438200643789430144157166183914266433447741892764174871004373528947704352650938334335196503488594006216628930269812646442093392967783910599429339303036458658731225857545479076200542158393718064126093075682925497653556754378228449925800048256691055492868256717182157522975173220038534, 48733108959751205891867473890364808770049178643455157697513526487734304027910566839282448333788006124603068145695750392601334029259580945448934551616763051020619074897802886580568992100873553834726470743071464169569302938147957729566375558510494089012389622449047778655182143446712736386448608277979203721314528094358434304342104942415235324518498189827128476882867244274123245113718042591130955152068909412315534754651632216272107500918894862071304883748374095497160928583148957190289724450392877888952717565585841348369351611046985294054922740391383176455044691728546792290594138817951791549706118892022533506945870585028650501095008556340479338065317985781559761617210945200462482927344197055486182738022613326226423634098288741539005537451664898350335372076671372838948714159019647240468772385409876517992831508879022701976372571515261621624492807594199422149173671435867370047560011161654410773652867834955711437960784584675218116542064036253606509610517038353857960266938116709052164013706107629932914128266753712709354267454563143126514683819374231971734098930150819295423378765405155698438482133420774313285362416474151768418250055112331669991595952572313539813671537670869960599356246852258720705465903997531758892159636317650631221053021250353002687350460589607845894812682895517871309296445843616830581689458522558077526735634897755406694763586596510237278730032003685041252712371833426120118955159114165212001934525225952177323065542630546368477749498977027634328273800182711513233500486550902439815107237390697287526543676698799664488378141127054934722165078239706170810327711996946178048878339970137485601755625295188030748229683423531409834576422639753074346112671739346699027256285265921108257019131323418532472234375926705778543719539874919384864342226768583730261280883198506913087614756962573751273820727151442678964220835746126750983607378478870655967413724505849948829107440559770133981176193866379218043679447184863447637073353953687985192206892922679889270203401347012687720060224696184325435283213847129477430275096665098556312836286413823796827065102124377301790238114612323889642683174431436051055135619128628144178610052640441447087858484771894029252028195847325870904020284375071392771698193361476869668450816295685855808504755219893122852482843552059242403429041823394608171749344024223552470873406573834366932288967878042419138847390510278238720072966070820665997203754415914827893379331595815824288057369843886246626537666984097233330427026176066721046937198539375840705740933047851872497327307636296847912533491071667882290251358354495357616149339545310547985796206981174533696173555809810700486734753939802721838589085682238088525303333801759270907218344460009298230930931076680272144000515294767807994495311315050356598066569784986490929170194444010026248306947196363727365490952065403062067753344208665703644563744050542615452334274554327323530843886008335203401591461616006033569387937084287786468511731873396282092888307312359875494867053484504138469712306209453132272534257264398090292753722095524139966985944169175423826612188477115227588931319944344841751726341893188925846420035969619573525947705895814234347691741874658865577981341105794675747287614436170318564502378182486027972838355659401016574579481260466408099327281914884812558760235775134196383754454022169610208585332495558712793732616719184318777954253977561778593704037199040906667839349698602834878361385579108273291464570685689777674975985393752659568345603493873925878326678351423331363502365937707778779462946128474036560689595847425020035867341052835395263879735008985787933741953376856170024925599484460671011507235733433312989501323063541983152737932758487425747943309240424088797894756674917112552119228048622625104018495788430459247008265640991837363594595152968261234110116750069119000132637500818376555735147837419930055622382269477812184277701171363291323630419626403636056586191263528657846101486670054914981623631264967089258830433686423609477830266840546834632589033392650894986987028764782050994628977590146518851760386603991729609754738588019448733745755047473708482448136563340555272904942885428139260861397772480288986355736086992744877671794894434398844240788229835184946732048327036260900912317930917473986051798426738753790812715565030540720432891964911620099951726644582106941536757028140167794142101354000173395041240578521064332214866205179451996415222088432151807235305763266996198026063209226267482679854199865619116571323770569408994616875899826731296176856700394330952868798190145932761682099462310697888220285950723890387966269446067460279374031646192299215144834374744788587782542064132453115726642748425698839880015714382512756002872904811258073801555449298064705910748406360300787036614549012815924276476583517251154667313070020071746791631282223446471973235783924549604955284394097805170958888853012215394762495620810556625297661462977449732958343972731593791482920802937391054604460241, 5329833479248958069519494601539631966453143726275223497983704233619600238047090933116840143327030547223703991707912044873382766664880450984681902031937198547555575230124102339007259441858294964619106371176004010005289941209923661042653209714123358855473552929496354841780900031171909315909686874341676780035432983223413874176769149180237857515181177792605001095825667293377697032822485277883073634899411770135928704998838860956810518609106424058581066493893126186838409674515697598476676734458185518956191248942880575330339032976738121758144560158549241182165890894843115868427983334756575869723516212662443973275556205528285398299016760383948828849028902406296463613875327414641976922874385191687706962461562239044833042628736054705682230506279767402120385927463193047402671195975218317180933498838236367291352551605501749899883742448991381258993778629499730781466368794073476673408382047992238302195046888555689176607645426539122193422464596265110108920522356191488886669955167349725500207279152852358977922085647625309002325439854088769865936096147602705489984148819464686904023544450299517414683969619859230215350827039452697931660096737036424316666104107605489453851590138171292947068692749200464625461320299521979144166872579152216797090215310637636548908378275266379149919621630595012396353808620458201908381611281080956594459134907277304126603163505147078556356538393239928587205269405717452564579343925726303078084679407231756625611045615696440221571778927486539553226589407369728693390320910066418401493321062091701156062249452859646834229695158481750647510342762338746885362721576974105335796576193918662640846757684973215734736753193977330619001885375130099584293222054057709181318933067597236993949131082596508915328142742744606905773347129641267124268415389873185311738022160728033898354933681444069336616473398273056484110764708172483505762398678292799388129859927636190358600397451388489163311893445283966447873019121917381076388568299288094075973577971424153399066240238353249035904538416494367659562999053705826831818268293182654571431622190482590447482779650976410836547085619731202793293820824744296042743966634061659867467879888061616966306586912932753403666674467578848700399947225080995097761628331725573949057065670303120810963846768182719852437334097102616759868581066592246965140583858049403145453781344667785540400732871436044814360739438119135660182132075860938881783128884978609101588194739584495374187192783552983193086850593328252739527268992710581356661870610680019021719930728700536178478023327360082861139813386088587615398436125597519165435278595434421891660423149923978192279450676509559953727118666137807049276867134242864203206916731946518283970776167784342313115807904558627850177683245212594473454336940026809846142495988098421881800753367534751169357432707112249705091232500480518877077313002111806466769906468313070563713563053098862348094408492919922243635565791669226792175089490895537570489385176935070851461552839027763985671978027163956406766503346546075008057598610233172848634987200124610237931017450612964380342268993139416584379476003830232719759467064874695755398948786314116351832011376753693738080768904150991793977484258036153471465289415544240862683487809241353811944415349967438473293768624101389138366371359523551877386049661741070860338027920816241735944767009810097068568159793535542491896999903993008484951643163250181599611274715556784359014025780897468937310181210831392261795090257883340873116529116797831855439205314634918733306996608639116448098580936095463320951347058816028826197153881742540860501837360011315265852887836636875789034878635895357015732950916109282478521635570040226063161302642886393119835727580007992214220628709446116802912168611128316696172358064430200550885234962350887450627475201544708910810738685933031451266155253478931187718108384966490350338686942638989522539669959712224586680938752873215356225848559759013719938189274614826023630454472445811180511940305164553241523177188227440098975668422195533738643420886478548392630923190616836729038551704588846083688498747945905753669178938377118831871062553471206111783151473357181574711951068281473073128017858790479481454349098097872454066074409807033424246776104233856472407653430523176019010151152506079080398851858324377987236707697419774235929190473965544066409083176061043668239174377348073474749635756938703480954320315121911286948548011382363466538208310982276004770788398100818603095614560990172045451548583674034115253417063703190388517036786191226941337317025633413969248002168505414396029167980686160452609407089867469991852355367150854943902548576788248035795926429344794065828808222587831526183058334246855439088105232365931281221761308668245423599496112465481162141287774160774343735014670742781242911672699721176672002978434117876649787603344251671762471537858225563683089359553806770754153516771056421286371646712273745300667388045330385475521328933102825188284859580912853, 5534701478677781276479468765420001796330749686844187078117651169752999413261092552416965510421776489217094363704411379702038133343281969432310005226055331173158633193983808024131848407747138925837642524025126789845013653412923333976884494446124159941843534579089245062815753572095393291592574078591178364952561932989910828780098648773400227535430451343543299311326759303482488879967342868627541850986307731744597433756814510735509717036974607763494125614095635263067917768552969571526271473297829269339869958492126385904108250258536396264417766501407340554593306493957249153234100687496700687764533753362103548078211500040034344512729623256286900244215011017075228798461049521058687728597939218835689604338867368228868420851580482137131077115220343496771862396795239517879622686833324724247920330349496337875541108850790682745947204744809099191926283940901735939968429696422787026190229186531750585725277745670961206216578631651436506389621006447556101002154866414582999394895546537859402213324393540648777817103498672596307201744549273614657729494217059536716471972074262400546052887679512887202449558652372183728968788763804170933871752997698806011644384937850326917450903889398620487941017884567073352462653075202782868197352027666910432198349349406876600642679426672205458466083184303432167917614159803736705307386733239183559435475068771067278237509829608783799434075820880892997455371365402034851880085693116801698510134965960770864189403405547973755846611969135899446769149893712069499249794812724920198175387757938725469605753287887336355971078128946359650460920782031133522423966592761663099508297582275058325890485284989182942815094485010155849807563455437009612962944427407283939116197581545128366919891876317298768309725677954255068881919632189519062798857328719019229148580124711852631004317692470065907726917947079540193553028988163802646452671346029657371029046572273052571854256255142887307687415103786006052592213562664829596542304263031831768854677497110488934179237964819784470375952148015267963183404815389508130981530124530971245926795556651962442198223107737938150951054076544078439610661213167456744138156868285664022282864078900132979056058922461574178105468394787729559189537932121679700037844377091727250364663015492056462264767852216890981944398002423984897411745829296358558784766004952193252018335583881566269609846730050128961542540752113028970806274033479877972247527724135271579497932048627109333187437949752876982735667196077225688663254464976971165147967370126439387112280358694107812479160823124326386467603363423756329787071692724762606219125275959866726512316998008985649025646758925306485485044311354754625304206189948583498826736811584479558770356937284593230823254647446816390330881077222854525225694156276830841331978506040518609780911430983596943768328481947043099082874216517726092143044349528973851842870203753126364419756274420804802834448471019764637354224663137635136907690431717905750726199108910772119179560916287687978495610123466156570959583256368373637224894694166614892232370117159235538251601001166822021159556962587260854022395871557995414635602045614471285614523056866027441837843107918040850177076142611662345868830614392757261829922790039373160944080416700805121529463473504166488382119611374064613868159439169822409087053928058036243722127906744786314103447667193143638832438338622270997825916167254431536707731580087311093912917735389641566494456734444680033333341231268491789955084501526422079166923930364088827858007822316990129121604411293053015293145249554098570434457110548386169594939334893292193535271860542566118637109823356004771763265642673132337770183425201360266885212998130637471454715114443850885840296491795466807017078936762625223440787084826056064148811046422292313998183184178227999635662578234824667169883290936054453915033038271048179734915424475607474762839136724471275787739178069928801384370511028100147274833040725559357602065886194838166167381353046315643859976955612035313679737772719556696393337807224392724080240454242835321792337718033457637794174900485129914940618448040549540723202102054712641802311201768780030269050749298981501610178663288511833069146707457764145073358879537025121752672186796381427660624513650458869305832786354494177912015390258030882021717183350290775246664898018692669904425030696623854315266127083938853621665623934554171936100412182754830895496386232498573371349845656651233294598464869153070945096192701617765425082859918659718492425781217119789667886231609927736870433015416231791156833085436542298513341318782195127516295619866274051667475513881018586044314705462830876671467542416427878200175061977122655449181870431659954021376105261777808559088649417361406899897945276375656023208381163537677659433319417875954743320929652131609392523782438192846666167772255314473083638526601376099063031583708821548417520845921179345386332959914571018428905565801965102700627029450953786090174941163808124785621273809621, 2535622886680569899250739263633574563103893739622740387674582207054670281409820735779113807688048216320992871141230744320054650624138376844074723561023706745689418087982829625624022774538442943485483782898908856929204704747059611432478777282510386157004913820429431469310461493894709113774307250567508246403443009894051915864964368246307255891569128785437141537824140880132352188254615092650152176452757914136804176501019292994970951652226518211863078269717394668592294203700693156925288308949432948514540648551002375184913376791011871756631697058646429216269333815160587752986951738904150222117693745657707633784149362966868068905876525485064880528699662786889932638107822834893185629824647813185004028854941975014256068681981533271612811982251851824332833884844550951241812979512038624026259580807507601998947406882379212763130677453022287615526970779867174605420359417821875707243188667264581699373163687034327210631881253491956191157546812909476170010904579871126289541762784886940240045235176625825973612086807951498310966341885371625878718999000583078180871826119550108390451940428019274523443533905614142006761184441066686697832623840799781646320160622278666303997688874843389345685131105470239721727347902980974146900111835374129725600637621578484767050632830598168401690399820660581532195992508760488169242235801590988091491486584413737491459469290397653790087404807946444569329854355722757710346562220582683991624081012730045763482565227038479134986198546026580994208525784774612870247602708761800195997477987919675343699276517883736183013109030771262197437304899201709528358285955453042723741741206698864889434933605877858155178003545458396540551068471241300873181907406615091699576706347042148597032365451013461214710328205199799017686424899058550255015462289097093014447878489375655655406975634905510754433894419756296142785419007799241875881258762727635783615176379499934062887977386469587150198515547469011451180718614386874383636622139041695737496265746687391050694017867578704332517074538134509371368467088269482529352156113361143798039287625473407432995548723935517550166878024968941265961248594421181181883864225871581814824535792195993583299530396783557932298603004261619972175628619537040880084216414489657337049020786080126728381082190949783058831903358696813882539640407305151151403135551076568671584057589558357472725392443189516649425277061048674524840347148102490492696712098331783579227070504526499910307349547815620245197798508019317735021619690223808958465313113251549970692216379932130867918366685062813351943016797763370430142926390221760451576074625154671278440374691185909644415407539858269157273185485430633662289282631074195099163895175021762169458897228232673191028301119156582682591723822812399292315869922170855434485771403239971931789495949030609020147263036140987776332756559557250845615802287320165538724156079748212111094612706150926223533172444704879493233178617833402956889024714400321150260239052817483298489014170353638862739554823788029500380434859918632827452709882344080923266845079524655908656316594751242768744355100799238866192379912796908701266787571612868108365778501536494470348614263566010116476999454325761253564220853521158000870343073209541754105924662617240233854920881706907162572513655192709064574837167961068427241467794300193665473304903721287349788892132349928417144971462634681130381757179001004544099305247379452239608874757942533535990548061626179512776606685094040140920890595241297477589613850821998714896931510344813025891369519680052583068106263910398914990956580216267823780722958788590477071815642179426912294148475799990350103549873539505960263062928445329264963377868360601590813665563277753783558373359969438237629190293907035455428733495769825765695303319473800871941448751427775846776983869615287658432615780509561534705641787651344196389455168326846858545449539874823861036453873048410280698616039338511035393727028720842994301823716630495323346846589551535454561791156740623834819022991944262617076958374582122298513573870646679240899724881152503156168689924596584780819485413643171153099282275060454977752951768998973442341630456846303923599468237989918837468732774726026409107482395668617213095641576054586774373542616802976321331199085874482425884382787487577891290370523068659503221139129387952303934820656736933123302339525827046827377556004867694679439172170619083810837376192764891040502108146330847515250741903492549827576529456517136147054441934682074553279815608237034669999808116520780160021302456645646727102897046081753223914032882200704318942684994656961547129939882458409783673333292783139976014558951095809544071089148841855066146853246210333933566760033082293928698144753954851248237762428167628729002312701249031817134168331484373021385714356380652684502952374707891637614528681366984610696813350119554598174388001979067650330007940804625734481884967716794830222466306985109934565127441037832995386946171451715578387617974606381, 12025309524969340791370034864711510881857030930640939660113054658053525336818111084502696163130283150442128421130008412675537446613263087428474058661318085663950452453928777833815034150412719482661174011407412626951186913125070152627755536819447398074581151393939867823600757800843868094007875565082237305572695404675679317580929760834556179811551308509265491804677910826143355120847712317732334951796541473622266601613041909414657236424795355135440629663238185946583959234178716573919015142544558733944978467891250118839838692142845934715733310492450060225942962780445817425906022649606718400226660510301773555680895515996029331432559658634235266530098073723093052468640833542598119123776828812386463282106096788854668230168824736797173140645828309607920780480004105867969655716494637857379118198945233311189286824436809173465326268360459518621089503568912263208747155061633250348048593198367719246689493026291803740712307923576104871667688293247963687960066097877650261535979925274852173836987550231672311397459946692118369693009481551848010282382639822998759511743748585180507484806139196939586780974258534350025930525071517408414098752699716306046612679814363117883618219895945532678810196362664641473534734391831940937193954106534462203178847437896190275599482920467215759581898515708667208647723994077628415344666536039686345261486559024498860980872190508659312487230815484380334795784009007697092956201970017352022070622319616895871753325080480940702012288320544742504018073056641576776264414431825777551193614409198676718539235076938457828248819729082644899901808194230641918469966761714258881671958731566637381183543067728672264122346226230359459150725226267891498542624905366986604320272612200065001242959029517747053844037860203612382940394289221246259648575024426475267058419723784754674984508700239237944676418377022748581106794691658893959288929214540111431419399052741285368793154465245527751051296611499569219597728231722614397425594378925916831875856913051166127339602709934059520009912874077554001657411211618862051110255013435967775512081268156011336482344523979870621270685937737168564763305068561428942046267561129308479634729719742677074335740387922424970717034324416241485151215290186307691133329777744110472117074241475984030988680174310206987399198408123869762039094311853334532852365738335641547329749871716062125455053855196815146905091705155915365716232324951652327996951149145161141855556223302797681301213917850971604146450917786474765957624292966942690158636936828527873473078665038020220606590909506166806700007531830747351083384732416111563885244121967857079861956938199913235411982535800226350815656670529430467068774636892976485067042704774446545744724957075916092843021473125001702293263201234617940778459924200091684879770853701676983670692156680066839347877998404953790378369802896745807850273578088439231823874605600363193704675566893060655649021144580516191830776374011048771800018655367796283392057517401185759103795381906846808845114870993954269457648192975288868095627401094739662846014082935809012867134460083157773813727854380216399213826198945603256102267919347393705911098814221119284257664166751751111829756963405096403698626986316426214593126092279828125050634153922794956765806018231828008587371938241179598716985490150810439025721335529682579265104413072745330219259052332113541186782554509670906355683028420238586886370131432192404144273230100419587743149699815507719110864240936782978724098313685290933990939854592368829987821293290907184241765466828803518179340248209345970671252366117148038004979851297446589637431873376901482948628500759605647206074196661230300066896578685495129148823053726003133350089581722113900830758662407159628971507353788794307427985173603115678174333887902505923594402791686323800463223271079195017578169893878711728998945454544180765887293152041840816143739596915939017686665052474175557026649431798111832817432581013404648042223711166677519087862984795747968944958077144387096346558337311781542652900707132824646164703292154581538950991322646036722891114793311049562026258034028347768387072320819372560364630472264233103125874791778704469124576898391646054981922679242594923371406499001468864844300133393401108923864283791119469703696791397026107543476226161216139139655685353119347814681429029909653217237285609616496322142948853664969524728865060612773212652779013079524540247624106287108144920938384136450191291389047526483693587879369045550246755866860164816855717486154714185073882936743194896301439017976383138366032392077828393168710065810478404303224138864502855385374307244202255386801423527424695239058438218732136429231034239641861416402142189590247802734284507662642258273950590893112451671910268599193101370619742074349712986296572462410839001296340183113575435269986578915613880799171255274878002736938779878407331801369194366159471123433135982207692515357399763811927798607615092052910568313403027486655623520011828318156188223930, 12455771885389366938342173620013513582701168760888742807634639825527882995409478055755118172983117602174554519350048115487682855881987882661708275492589903789874003843342878866070345396756789106103188001174625078277596684067076320541331064687882983605513762559448578465758306178953156426863706522379536240584990085577498790919207470076064282407535521318101225736174746844051183106792762621051355773780503736181212153045265577424111013930409443856450412144404011481919975618924995205552299692006881919526248301586395587722768129032286525260656657519356225874955531169497232787860701585727772324767289263254682897319650255720222497335158826117315081734518445585256078323361677324194462805036982447155595359920912882901417009202038326748837042700046897532226270786218040431304804705493372374741859054379416032875624729128682990965882241327518218264204000883577588250793943461294065796006872024143849210467562673265535540499293123997514378227987068380365495452361462073855826606909875801144708191592351892180949658175708704345908163770877144615617660111286654620385951299093374371925766018284848008563505440996374722624576072373504692240252769242883061663687309878916825604895312070968618320627128022331917578445994302113895203029715536244926280512261929817467055668531841710111040485678018150039115805830048132869763161693250480671473349083265096362214396467509191284969385146066735548632395071666514396610106043453300204728773391227773949726484049849293921115404286068384486701480589926064975126511628792504997597704426143405537493720492195189495584064565079010592961356789760073496801164701778453533957250276665801067582159998453293640077218934840706434709779005248350057701692429070444018692421255494861125063428333595838811867044295082935670635130819085789328386993205129811786991204794121490111743657356750679333092456224021260233629294598499926685836791206381518150058877609902586499155621897642658291611940178709548813939224324374181718245269140840842140577684053700327401386574752916944142298604882724533895759197196609597180304673923151671578916282312862492354602304610205890970732346275486946271540697530411661858377510281526069416346144180882998753027373582260297469450266377025059519943056945210209877457391129226549546495617056958841889015883168546973579260638986836078707810816561566885988481390433558018174025052562262038342545545047532978695772121954858436726468630105659488672860263898431829068094481509067976460056384019548836357093030901477739706202989134357843396695575515455762954958051779138210249261798039060018982963851058730425381949031680296547812956186154584199146921448489736062071581395530797387614013227713998660418840740404726294229152187945205752963047552924552311332411996549961171477219210164527547128526597051788582393335696735091260066895369077261309901408057045078912136365024596702582218108977702893988451268906769255391496273621851227434285195371194485486864426504502992793935918498799916196018231546216373378040591629725286306082358985745522314441800272015286315667465862647545943111566690598231716781351544666580987611894953021554394833446551369750069708746845579739873750254875182293439218069498743115060862630171673215208865094639648189964714692306230455022733513837341805190776185162719716706825328678186218050879527636520750303348287055930118730061931056496403059113717611293871547050966430597787481414624081102978797709977492697273967634566529598264384442697349378239235569609613844895395595989555743311735452631825799648459033457358860529955208395216476142975233879784327080704399941584146472327819612974425231309268075629632503788165841691283163177013493259092415053692254201972773852417826647406481309136400091945710871065478827262859925526090649064334010922362836981888071506600644587559842489124079767240733548247599037553392114269723006457115926795374018761560043610252856492643889055586937697785713834072738445216265629996793390139735847686683063326597148847529854162190844423921763756451308464342582661354890741399610403526554839113273081747638073237354963027238354729859066099969936957918345252510961408873255762731623526188964122063235072634451117930828771997157820971489651342649378036154985133759628916803640434578390037624409108578666609082727549887791248349227942008956343620503504986360528676163452842448984637137246110261535616085738348432679414077205226367071046571258100190961926153480767085372828196618804908194099100867035230135125191221061301946048531997858419891750010171952462893016866077152026442661203531899659980147699585176651180806384990288263894052945514065765969654847565494578443709459457469247684819647635643559579161390306627588569025613378032183609812419458416994863206755481105030603297655109638647743219278835768537688547767657230717954918682273325945304813157512782394537247635784728885413222758288489783512716979965319301281441234665008448668446987480965372181987817294162808908296000114690820544659222479852116089213531526769286338177255350613521, 190205434273666858561419078680993516816762056127973859598645485582590983837090866480853687002753512694865468408259868089151586392098258748495896862437716432803790003961067120180940635266800118662935637114968202614077567246960429581435115499117996597340834898770501820996820789573331826275271942110891645871452054925553800611597889154713514511320922292418526150848883332262987436144985005924850513437508666475576141264096699795011519896969039336130695623131292661269994511770297588605696207712529822446593808586308949765814418343558619044929080939419161219377016640711901484915932729392570648630389196458296432262259556574178133615087237897553698037720324084130806671818871847155976128782289830752517082948020597765258912016614134275418651718165415766557412111441767090008173432562086137814930300092322467393178155224681526422104951338545854871397543545655444716274095771612635537097328936314124910630154983437590507790019669782944298316851941896915413174708384264265302579201450962278781509694600846903604905444261270423253193805075778222789863029960878270299421178272649361010910775012182951066448652159902119503319846469720228934203101642258736649769453627899009388524989485014466869143078608807948696703363670306242544291146994481752378256625723842095638683235435283864426787520437074959793687073757586744548410782468710754696403945593789866346174853865622794513579524519189878951741044296709719451031970965008247187137215884824161867462997772772796720857933573754248331957702877362781287122378060232876599642734279944622262410441428867827049382955694386058741751711800815293242691363888459841154110640501025314271010655363007235539463881753458585566340360033058883011656182099202676694840905508561857728055968121742756562162093560278471238955962158240733886131226638079927648131572939653727594419569375496185876813902829108907121501133139979239693684015831229212816737407701796852835661677748898226150708251483855582969858707378058262687824609501004417355978389713990710365229612875435661227531489542774710996527825470627913438596426431831016308554541536567223047915739921491973745269569407720589257912526018914177819223873425328606109870500232343502509071362276417499550536531386320187842310524496565164901247671983902982729658862702919356329683247850400980814851145829024528983790476457519949361409507104906849737813506568760479486356289093776145293201158397790180158827774052839613739002958142873546021244260467484572171009468603492565170552120585565605992714536265510822538500752007533214505639757355085500423345538413872639640838006757609596420824285930233535770098208291199256432981697961184783752867397728356736202060853796979036749325625187791451893218967036922110000514558897236081253005491109211044108506382886016220169659053049321260316977352754986499262633511464292684704575011913566869426347950471031886087634253864095755540286125796918944075462507634162575182329226557410560327428449024947805733452219816639623426767820941576265876999034925830340671271958394419223730553917654351260600322131685427669720960330333054504144052458145349131051858388784060605797040842630982026195580650553270496821774556959053050731742423424353175180337708238951345849646196075040508578947158775959029733473779219131896854888575033522721973704346928069948731145718764326017690690426036637428746504105648113480304046041061566883722218313879462181769880096518170540945661487422898134827873168851412652653152088696982149772538475108419649317333501137052362828534084606726783110453719015339181745972473360618377912580492583065321664911123795263787254606465228806324128235438260926842208502756744873570945860962266903665772875726629456909141320602343308933742411385548178010454953507955557116979708165717036142914953123926978615118090837048241561642590687469311059115656668592020532846760589812143014223604987289214145547037134154986573194112272868704763351566376134784413505606406985552322988294811548801437338925544665292995379262563322574881849631141071421416924507559831387767428847173322188609571604117468945037044430861372637016230913522666101203898430050969357676521090732215080234847931428975176407783609667681458415059323032656588554615836259874897459293972319496147207877180172260239329017974751877594101907867599131697568011875007573280642943150382784516064633231881199249045448816507396038703343987682957643824424800153696565150263694340751450943771654837671015486241699604747773249911891222582057332846674101265987932466199332877079081189636028931670666354330585478472799004108994284287677141949337612402614346896636475447779436607644642171202456580134819724073020767805387587320595292963370304138486945540858205585320571947699117182408393296898426563729729370656753381112438736824773523191049375055170581546329235428779749507564462367296150365009950643398447978707569880370415838801349299154129500849895560498362345365038380412037510436296709290467177300729747112822424120196186364878735549231902130643172831855582895822, 9153136995799020126117604051162373463028757354688788989456227665508985099181612497812441328966123242905628521756730262888611018024465257330251351241725818368442357058674103507943354267757314549898263552728917279639979738201929550921642446403597794994202410839312261525492098519633608603756309681345611491655583804318095094518101031575214284051652095036289397702382013301561489404244601306147392269695484449893965603863856613481822431574547428039638307717988994440515402814706832214098822602158834228251638278487687060642929417745051988585895101409428874875284472024741623096923007899715969295833426630267733078177210090388473133100618627361330170562235416347204999955355375240536244994203695821084862439210471354903449564003983327134462766430713395051534187971873236000540195570142362269353248309562852927871089709008010131468183405836763562456626814861901991792304014493330646337512847725584400927281270921648521099221447194332219365098415749202620425356882310310296118592429521610227590295805450692904724634419482931657545395648704040452114911035828423458364381259798669046155289752988842869774351631916487386678787681300491420406152368863808089836309244246093165594115769412311887251009296458428459068549839820362188872564374793173542726582439023867317880968823002182889153426882329545290948811096361944209612377881617334061612598484502840785766061921529393541548923095212905291325556576614388771335265918040336978098493880711500465480610866643709557521795285789478264546777468269206160660074826258061130879491547271415757963175335386263549014064820797783862427804975978343959863805533078075704321562724507119975262562245911860247870153167612140693002218047635673571827272468841141973778595588008330114460753392031007819460548822768912874699431323601045425216128414398540640531380083413143325313124485756618010136113275760183610697979369631757045481885104673427406130992213636027420103986824112610165709108024091409949345172152579674656986831240017957469703906022403722010791375475780988800777398129916630378434884705497857017804885868900785854879328717759346151983809094682653387531794783262765488504696353531572948909857267621082377886539545761241287028386219097578847876472584414763827097763585286994220896089290642494434457867719621251670478659220501150044316915294910343486108566327700227279296329228616921054856331102018508748238579633887804704141696788775392579956429964642916400054500229482597755285261064885630946573150871738277089770650604450905266118114266758047320105400530846599403064127744298251695144841157385095351002401527012384579307382244475693111842225961365117147378316738549334160165407959166465092094133484998249305514987795263379366421086066762120002288726403151431151902050842567861303138474418394431358366382239535871764255495675645185823490224335576382483480282814683278801836169382727472230662153576456067750752097360839646515285670623314630509640539239266240620537924707009344232620969389701606585504450441301607776089945701387139063960323821066645274079951886048095378339006414671014728374651331311144611169483958056502851580300397348458587556467274130713099919629129021156959436379239645871140490062658334750117924406962097928520585099132972793253776532850495197279761566639228492009731198092596249123413248137319365022376323542793254109556808851289358964664283423370933113250365879233157924309021388305267959933397601759951049575662757536761646417656968726456298524828618733184341197167474792460798990282414997636676333509097243276586612294003592280256876562737330793752281871185449841832090005906575319037597454116447600416893344003805381094078007996024725414812786751331611719752919808182902078847633068905673099702821222461703973018745302916470505252148509126318528308632949693807890138853853841984807334360057282166844513831893797293667890424850518312298548016072188050979417781215542951243011649338540374175590594403993637149186538042678648197094960103165126990386680503128313128676742296665815494101890283480784344400959957169505638336472317214402985260270318498285936759959530304424242225439139429129390180021134876453490503728876868942580781523641766580970942553641780537817977241875721677817854562899689687388014374844583132949409614970174983346422786532536725213741950817863905769633619527859231993337161234871804426300664174401094114016695459109240920993983991588686434024016057962901903112645618162491436308236741257306722441095019768182022169198814128054656039697601809433448015091392816083752304738734421965469096190340615881182828217278917216966257282176763309382413641439950787196561923352547034856082208541086396640566578735002212424509666153906816882605797798489135638174659441992904850672288207805992708794415385324407065721633029184631694039802584454693015762233400348907024534417769529625893156083210288615575570380458747981708411425329246163310663790522117822427275976082533102173321706917274633690156964315948155497409195505999220461560235820707513467418876832952763382, 8216774507335689795723606425984168595183837829962049853500099583857716194774453865935548714281394279611716108300449236997503324371886064488924346230603816864328798176284180319572746433747126253981905984009910247916665416727921144921805366883992597848512547195132662713172980012222226203387530095030568006303856548330972490865166340484462549441338223864615882317343653513447444035054075100390849094860075503856902995060985969525921860989072149973586031947847232969123938111246377841258310527491119395605589214556496444438668929490158206064056265765369607349378303418855817392139755919448472632342046261873459522247561794513411271962716214982622076296227495818845494409725574756528978990025343336314465367962445440501626666339148904027934996340247992397389509038147188683520097577696538780957240522364891471250895973298132859740494040326932499874936963160689153554744836921275631100424629675439984725604507232421032678095913648165189993966410788883377398149053255792167058660248467560552701770042196983799774290311876107540012849512259692616139360295118105610082998903834023069080358035205005289603327810643070400973040073413738889699462017044451290928760616227525331609958925928594426286591718763045049188863023195698736577409113147386058051092595992852420156621222382486748861269387098888735314925786396734033619797607235298771497457802368421487893943019813013760579067351777661120227267308450486475674877303108779987369504081778850222256041929083881991448714406837302190913122743636599513093538324613882178070078179242193890530541278473299625706658133780168355993079044134621326185529949638038615053146113432903027436307398004133753448271098146399034265773642462674893851894847242220273491581773636608275259471993064575952330247319955652373772672292073459398785784066855040212844158395241388860282538564324042881439231184972260703137387980792930361470986318567827304087431550713459068804168331368559600428336578859931549309926182589983942843317796977699415389814528027013696932849907628263147093085953448902269545496601771889201374466669279603067820265744611520567278781766789498513816300021412896795344943248611270371264687557508192809462056313898970744560223776003137090231136137411390736493867554064694413703917537509927306808180207221161252641769026742968487038781628192354808967937256005193510647684594952969627441158575606449760578259456520215227784665499012558049270376855727469074518642705022245050498003453557870668607438865906142439503314554275329560356556502049242725844217585381599838646423660506909068423784906096596583333458651615612741192129186344647009656939874066477375455010579088378122391074256823068322253916659154050498452331610434277809541667316957112057979765342730388981523411112281725132655931022188948162705691920120788674534884436106575117937244149461652721056518708754286848478889502655094988853485194915840041211784903955610517313461941252902919740716760208337454890038804209939157664548451016955521980941812436073609802066674177721094782313169510268972920888857970878572008997171555962916193257994338171834337324522841560402554535149044358141287343805934364758419230697276122404905646159244220633370868180298924365885857463479117917105757350241393431289780684976299420425142658333529481860002871153388031033505172822367360884845747667928653095609172773834023492362263019551788550549769600356844124571534245532651715503752909484831833304514740921575180657756484796880661752332549532800449962643721566309560757818122957760587635328105085699895639969587966418117755019253490199111675046430568114282382320899575737534355843355432030564470206414472880639934991418392835805394328011364056327201208285022483542308193892220256208477770292052823816151220467565789352098984847441119576577225121932226227497027455585138530083261008642024926140018258451145284874911298374068473362364704412793184653728728194318889073721561863699379708451496163784924951440099475490217325908122293563243601703871664839571158040983523841711209575791820615052989733385180345465249116655503966874147880904045652638745832230238459969880927355846518756799080602180084580543505788728187998581178857121064047111562946132626379693436309475974894072044269016810932144172461090097752076563446310713576140361792176853942306022256480081292873747733069294473709288555099859860160929237531601861431672025043406136675578363182166222309869298740899051162525361739682560617792770445677545988287328195931347946666233983937894945056789236275324138673170170567896148847737480880879105122415590612927306610817341920174574809667525083264620379382376655947377266536288109335259104574525226277369334091541198298588457297947329293922203893853394394707988740091388810698223863015085694062056474550089913800161290801957654706321889711286169777135869632867443326806315254132293002515659284641030357064987909762760750370349985154275870482847071585736608416406438454754647299993341108063352848259639007970910792423583337425332797473745683716083260631423315, 26058697914681614670743685430027468504074745533819968198340539159242700516454808699434871896461143773990508736898319716234794943572285755964858171494745781313374005177304247735583859468335604967811077486771610929353331978874291454868925492954390307682800675110961839535705211407587813903724570005860262766565572347609437350453583424708374518794912993678570191653275660006327712734290113562361983481824554927946850480030604085669729860674996263866629732322508831417311442789198092719273370229210333932331890112914122329191704475610702148184284210880955862548678508131804911033229463317916294356084023053299449168873652644118956698513192380798782704174891119101131213565198777923978942409873480594598362497113750101067522495581929969969505698273064210983641502366308063353422006299287835122863028293738332902925403656446675140458406195222652841624559877080755371243209815927516756774448790471133392914455593812565592575529346195843798174930825001569108990789953837528839083705617932658205716248750889450379822769094358458595690628093711360388623037579972583532040429281625141650965566524709683029520652427235281074396981543070302469879293998086528610843367850451576986198745221966802684027634250088417856845269595119339269966372043941999832184728156928667220157481980736392213892042046880285044609402912449752545523456992818766385329632152046281649149059447054476578114667640583734982889828023073804636897637899793765623124500902666432137739513607005386592958058235757972128110032398282292518142664158662994793246102849693145278149312664939423339671887297192626484334177730986131388166603734779307653284846555119203368938090926527455506306949146803147297413622999605970162230153834936747083800953330892514990019103672177599652024219770327280392204180164451769393543701305622057980028812919840776383732322424427697313247614706468604489182602458346244050931515365410772273867115350461270301277740474195508769709955117186489171365503553529194372420822614144741482725035207794691437690491983449007633932601859081167420306716479595272974302176057879537299571598462260288022032642305624549175869573718442557406770386088012993764629718545182080861373083485467164943554536234587201285675989656081691610831499635636367538306437864730222938973756531325879001643591721341909070026135851063697334640077785089098790876348387496384397632952830802822810791556616735055580636468933084915800727684680342209793562919365830247258919064830171711087670129329104061362232308697688948689810472875778163574224279354913623812037731987014649445578755698849377700414799954407592781062472416841225845834434074844972258911524246265019184975533398689133078457959475646098631329136463848658451982967524723313661112690688197865137510258306442128462057779698838602231656510744931776778505970679448976689701192379940381283040545407857086834227394641504825784257391405229612660442086160494953279557996874360508982705353525594572158668383322256495918678831035466742893702931192712733388225751215153196021584347653371912043242661230980245537633541749768143800857184682621557150331339739781215225302924146531758286401515343991283844612261076525830385138128392365171220632001774465813960101007676711494549604005887795483773321843651422964619575173384315945206038984156125241496349161197942888322771812637972645836595560196630666479792155292162024530865118401415738628577171186192017684814967535612529670080952360834176732407910762768525440267180613374314742731849529339296581697085790547867550612228116104231120439833941612393345518941315880847315328793617772135979779120316639569606827567110532204101507551824102408808645193144274287000669359835215486924724197907703297439217935668395477488427704665687476819154525918338670001211945736168582455095745774943636668158145234325786647679530362181250174656421149608325084735456931113983853115729677610130796106536731410486216945175147350188927764880048336256196036194618468378704909236936213001708343731127178036076459315174807303813743208254043343419877176366701258847877024328129887536715414813376731994528648657799074149261561899848540316526228558278975766167418224224336867527824542453303331867976358453376733430345061467137136411903398393538484736529559497946357888853710378599704604498003785497598261780713807652126215042961327492654274078753485377031519244474008790873726297425365639082854169039593138214294590196701843059491726115480679699417743413618856175347429687745786680643556164898599069887522686948160123131952570823834957588513747740992153681240633179002685529892977058816347195160640034515663078370584552971938734593864327911796707688467241356605585703230346791864977851264062031016621174109261277843067250747876104888974538108238404302828109436175849815500827131781058485246777389660614139627937541037346783538987562349921839585145864185776180481297179068432766903596450811685706604787278703279566654192793068205761467994453369563963223897257834266818582098480701654319141450651287779914465551818849499, 3619135285400724445512350861370113924407904947471211134704723254635839243992960125023758472030631635723422110321657511731310276714693683324670530705827938423187348382844228308508836068781272177090305720376794672576462929674669340519406146746330826820646143746017954332680598795309010014801935907994271342635401796208788920474276120272915038032834189230266660589997809588244979639461356509967574975132850184476064660820668823283117163600622534030876440816042724600976353168010103288717118380931515008941762104104788937126525667013161819950687981238952437928967947048783098795266984457446520691431313591413339830956911846814486461239370739969801706953371450592845427480394456001449480160305139235925822357193400538967773886660494346956209009489222475326530816637944307076088653385338555286432601987354174070334924422326200315171646493048517018691343052532164323370645250106434150602822118313159267394081185917137611627900474280542449209187580611556800705752255806243902147569411910864448115126529844097266238702959399072853824857971260709954753205184339826009347557705556345304107417629565690231782810001003770668328356996900772367216732067946421926666781979893546876289494018693599246862035347532526286892592544782600082997137615732314828277946232272413839131050921808209343502333081926417556963980206742595142373494972593352228130992236796329879492773856871242712519316400068508634843130664204550553216438524285269268959622024726095000580784258341325515516888317339405312089420666873350945934809877960150887485552353842598758965652217889467734443089864080630010312545867952689695200574641124876825346539665977235189904196925603123206303643512316195857417756365307311165458765499352832626967284730796770335762581035178371081832287117095322984484712692566251874980441011100823624736553884200558737033070645517109089214250286264094714701470922913374352680497828220316713239058237670333077748080122168965143177737327305905436282293262821607989380203056134777481969789934230750179811747591678759586643304851141178594311365992819881685023593620820865395072854354241673860818653904545614483004381946599946022827084040028186429708461220076248185307991465915973578575504617814622328484151651566879360921571117128279578692556664437079912527441887197908749790553553105573005691660581636217867383306854015468401766168096022250980315806150036325845843651156547602221220780920032061569746231087857299986994992585429529084898993261970152784251611693604397487794487787111774200135555675692948376931538407661121926128644959439045015620725363690145123426720788345867638630854109053510560155311924744535535953793309275836960545265541130143578741632268892703873577977761719108559709130511662735218396447439413899354027474283588666918510313670528861575340567838704657086320193114308009628718048431155772870066982645025035601309178720308416939427282622605960395200280595296139003275947987186553979846397196369291274181357248244930502813457707064198473207574898741740873616108198332733410373359709531932476623624709350733139096436213982911125900905390407483065209677050828335091581763426830435746623608545229892720576685423603566093975077950025083375339461135444354301769676689008941068275809371126463997905701253951758959249815746310923539262938565979010046714404558011843900394105630308976480238603045051157395302660663990586943394205523589752163372014224251755314469230397064560645878013074669700617835660100023914648551750802786543538336997125173714606010217313370458594240554120647564801363153707130858829047526961189855548100545068559188159695648924596656395902961522231577829680493115155069162949572188721494521303063880165899227148455028046191751828697261980279650107954438490334236027421910288993513101916217128370117558211340646787628372472711192868535912723987463479777566458174532617634816714654213312262385321642798493558144141062340265921145329238806382754768700050957189620126365698989933046848843665566421537637898939159669761698051313415249796261103339278128272937153161696999938079422573223078402284144613697449373574682614093913448602799642901930998250273353080457175126391964511330084833468641779854577687087128128239815709897255937166669765482789544441753713287574896652045505074884787356018034971106758237475746430996059697049599697086343182944743992516942912290591481484298452424020661859477788111402534443733915492514862799397057489141673281412901401554082007271308547219209929227869764231764451656251194434148765419538244585150758898556527664761446638767823075389428838708911750127340658379338654054889179213839157314435162909931536203670613184252826086385092423446736689566361250959018293054444705867521265571487187458594374545336413010954798101449884639978284644289639955883698251125023332399912746405827172448109188429732214377383213572990495709240842690869663699012846789822845127575357965027828800318564452206157132995997505609769864492900173377134024553960147221030038546303998045761182085018994564881852837930192643746]
